码迷,mamicode.com
首页 > Web开发 > 详细

【hibernate merge】session1.merge(T entity)方法的含义和update方法的区别

时间:2016-07-22 12:55:48      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:

1》session1.merge(T entity) 合并实体的方法。

2》merge的作用是:新new一个对象,如果该对象设置了ID,则这个对象就当作游离态处理:

                                      当ID在数据库中不能找到时,用update的话肯定会报异常,然而用merge的话,就会insert。

                                      当ID在数据库中能找到的时候,update与merge的执行效果都是更新数据,发出update语句;

                                  如果没有设置ID的话,则这个对象就当作瞬态处理:

                                  用update的话,由于没有ID,所以会报异常,merge此时则会保存数据,根据ID生产策略生成一条数据;

3》作用类似与saveOrUpdate()方法,作用基本一致,不过略有区别。

4》与saveOrUpdate()方法的区别是:

      1.saveOrUpdate()是完全更新数据

      2.merge()方法在更新数据的时候,例如数据库中本条数据的name这个字段是‘李四’,而新的要合并的数据中name字段是null,那数据库中name字段的数据是不被替换的,依旧是‘李四‘,而其他字段被替换。

【hibernate merge】session1.merge(T entity)方法的含义和update方法的区别

标签:

原文地址:http://www.cnblogs.com/sxdcgaq8080/p/5694620.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!