Hibernate中update()和merge()的区别
来源:互联网 发布:文明5ige编辑器 Linux 编辑:程序博客网 时间:2024/06/05 15:49
今天练习项目时遇到到这个问题,查了下资料特此汇总下
下面的这些参资料,简单明了,感谢!
1、初学hibernate时,对于session中的update()和merge()两个方法,很容易搞混,觉得两种都能用,有时候,又觉得不知道该用哪一种。
实际上,这两个方法,是有很大区别的
首先,对于一个处于detatch状态的实体对象来说,要将其中的修改,合并到数据库中,有两种方法,一种方式,是调用update(),另一种方式是调用merge()
当调用update()时,首先要取保目标session中,不包含同样id的实体对象的引用,如果有的话,会抛出异常,完成update()方法后,这个实体对象从detatch状态,转换为persistent状态,在session提交前,后续对其的修改,都会被合并到数据库中。
当调用merge()对象时,无需考虑session中是否已经包含同样id的实体对象,如果session中没有同样id的实体对象,hibernate会通过select语句,从数据库中查询出对应对象,如果数据库中没有对应对象,就新建一个。同时,完成merge()操作后,会返回数据库中对应的persistent状态对象,而原有的,作为参数传入的实体对象,仍然是detatch状态,后续代码对其的修改,无法合并到数据库中。
点击参阅原址
2、利用Merge代替复杂的UPDATE语句
3、merge与update区别—->你一定要看!
0 0
- hibernate中update和merge的区别
- Hibernate中update()和merge()的区别
- Hibernate中saveOrUpdate、update和merge的区别
- Hibernate的update()和merge()的区别
- Hibernate update 和 merge 的区别
- hibernate merge和update的区别
- Hibernate update 和 merge 、saveOrUpdate的区别
- Session中merge和update的区别
- hibernate中merge的使用以及与update的区别
- hibernate笔记-014-merge和update的区别
- merge和update的区别
- hibernate中update和saveOrUpdate的区别
- hibernate merge与update区别
- hibernate merge与update区别
- Hibernate merge与update区别
- hibernate merge与update区别
- hg 的 merge 和 update 的区别
- hibernate中各种保存方法的区别 save persist update saveOrUpdate merge lock
- VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)
- Anguarjs的四大特性
- HTTP与HTTPS详解
- RPC-Thrift简单应用
- 【日常收获7】修改ImageView显示的长宽比例
- Hibernate中update()和merge()的区别
- zookeeper 入门指南(译)
- 将路径数组变为统计数组(树的层序遍历,双层队列)----BAT实习内推笔试卷(第一场)
- Java链表的实现
- git使用总结
- VS2010/MFC编程入门之二十七(常用控件:图片控件Picture Control)
- Content Provider 基础
- Leetcode 96. Unique Binary Search Trees (Medium) (cpp)
- Content Provider 使用