Hibernate commit() 和flush() 的区别
孙卫琴<<精通Hibernate java对象持久化技术详解>>p177 说,flush()方法进行清理缓存的操作,执行一系列的SQL语句,但不会提交事务;commit()方法会先调用flush()方法,然后提交事务. 提交事务意味着对数据库所做的更新会永久保持下来
p148 所谓清理,是指Hibernate 按照持久化象的状态来同步更新数据库
Flush()后只是将Hibernate缓存中的数据提交到数据库,如果这时数据库处在一个事物当中,则数据库将这些SQL语句缓存起来,当Hibernate进行commit时,会告诉数据库,你可以真正提交了,这时数据才会永久保存下来,也就是被持久化了.
摘自[url]http://www.iteye.com/t/20861.html[/url]
孙卫琴<<精通Hibernate java对象持久化技术详解>>p177 说,flush()方法进行清理缓存的操作,执行一系列的SQL语句,但不会提交事务;commit()方法会先调用flush()方法,然后提交事务. 提交事务意味着对数据库所做的更新会永久保持下来
p148 所谓清理,是指Hibernate 按照持久化象的状态来同步更新数据库
Flush()后只是将Hibernate缓存中的数据提交到数据库,如果这时数据库处在一个事物当中,则数据库将这些SQL语句缓存起来,当Hibernate进行commit时,会告诉数据库,你可以真正提交了,这时数据才会永久保存下来,也就是被持久化了.
摘自[url]http://www.iteye.com/t/20861.html[/url]
本文探讨了Hibernate框架中commit()与flush()方法的区别。flush()用于同步数据库并执行SQL语句,但不提交事务;commit()则是在flush的基础上提交事务,确保数据持久化。
1万+

被折叠的 条评论
为什么被折叠?



