随笔 - 6  文章 - 129  trackbacks - 0
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用链接

留言簿(14)

随笔档案(6)

文章分类(467)

文章档案(423)

相册

收藏夹(18)

JAVA

搜索

  •  

积分与排名

  • 积分 - 815411
  • 排名 - 49

最新评论

阅读排行榜

评论排行榜

hibernate的saveOrUpdate()方法

 在WEB页面中得到一个对象有两种方法:
(1)从Session中取得对象,然后关闭Session,该对象便成为了脱管对象;
(2)直接new一个对象实例,它是临时对象.
然而对于上述的两种情况,有不同的处理方法,对于第一种情况

/*从Session中取Team对象*/
Team team = TeamDAO.getTeamById("2456721df4fdsf45");
Student student = new Student();
student.setName("ABC");
team.getStudent.add(student);
TeamDAO.update(team);

对于第二种情况

/*通过new.生成一个新的Team对象*/
Team team = new Team();
team.setTeamName("team1");
Student student = new Student();
Student student = new Student();
student.setName("ABC");
team.getStudent().add(student);
TeamDAO.save(student);

在实际的应用中,WEB程序员往往不会注意Team对象是脱管对象还是临时对象,
而对脱管对象save()操作是不对的,同样对临时对象update()操作也是错误的.
为了解决这个问题,便产生了saveOrUpdate()方法.
saveOrUpdate()方法兼具save()和update()方法的功能,对于传入的对象.saveOrUpdate()
方法首先会判断其是脱管对象还是临时对象,然后调用合适的方法



posted on 2007-08-26 18:05 Ke 阅读(2405) 评论(0)  编辑  收藏 所属分类: hibernate

只有注册用户登录后才能发表评论。


网站导航: