Hibernate save()与persist()区别
来源:互联网 发布:js弹窗按键 编辑:程序博客网 时间:2024/06/05 20:32
Hibernate 之所以提供与save()功能几乎完全类似的persist()方法,一方面是为了照顾JPA的用法习惯。另一方面,save()和 persist()方法还有一个区别:使用 save() 方法保存持久化对象时,该方法返回该持久化对象的标识属性值(即对应记录的主键值);但使用 persist() 方法来保存持久化对象时,该方法没有任何返回值。因为 save() 方法需要立即返回持久化对象的标识属性,所以程序执行 save() 会立即将持久化对象对应的数据插入数据库;而 persist() 则保证当它在一个事物外部被调用时,并不立即转换成 insert 语句, 这个功能是很有用的,尤其当我们封装一个长会话流程的时候,persist() 方法就显得尤为重要了。
这里给出一个明确的区分。(可以跟进src看一下,虽然实现步骤类似,但是还是有细微的差别)
主要内容区别:
1,persist把一个瞬态的实例持久化,但是并"不保证"标识符(identifier主键对应的属性)被立刻填入到持久化实例中,标识符的填入可能被推迟到flush的时候。
2,save, 把一个瞬态的实例持久化标识符,及时的产生,它要返回标识符,所以它会立即执行Sql insert
阅读全文
0 0
- Hibernate save()与persist()区别
- Hibernate Save()与Persist()区别
- Hibernate save()与persist()区别
- Hibernate save()与persist()区别
- Hibernate Save persist 区别
- Hibernate Save persist 区别
- Hibernate 对象PO的save()与persist()方法的区别
- save与persist的区别
- hibernate save和persist的区别
- Hibernate save, saveOrUpdate, persist, merge, update 区别
- Hibernate中save()和persist()区别
- hibernate中的persist() 和 save() 区别
- hibernate中save()和persist()的区别
- hibernate save,saveOrUpdate ,persist
- Hibernate 中的save和persist方法之间的区别
- Hibernate持久化方法save和persist的区别
- Hibernate中save、saveorupdate、persist方法的区别
- Hibernate中的save方法和persist方法有啥区别
- Eclipse快速创建自定义类文件和其方法
- Java序列化jackson
- CPU vs. GPU
- C++析构函数为什么要为虚函数
- STM32启动过程解读与跟踪验证
- Hibernate save()与persist()区别
- hook
- openGL ES学习四
- VC获取系统临时文件夹temp
- .net+easyui实现异步树形菜单
- 20170609Windows09_05_进程遍历
- 学会如何使用LESS(四)----函数库
- java文件在线预览
- bootstrap fileinput excel 乱码问题求解决 我是一颗小白菜