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

hibernate session 之flush 和commit 的区别

时间:2015-10-31 15:37:20      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

  1. flush()方法进行清理缓存的操作,执行一系列的SQL语句,但不会提交事务;commit()方法会先调用flush()方法,然后提交事务. 提交事务意味着对数据库所做的更新会永久保持下来   
  2. 所谓清理,是指Hibernate 按照持久化象的状态来同步更新数据库  
  3.   
  4. Flush()后只是将Hibernate缓存中的数据提交到数据库,如果这时数据库处在一个事物当中,则数据库将这些SQL语句缓存起来,当Hibernate进行commit时,会告诉数据库,你可以真正提交了,这时数据才会永久保存下来,也就是被持久化了.  
  5.   
  6. commit针对事物的  
  7. flush针对缓存的  
  8. 同步到数据库中后只要没有commit还是可以rollback的  

 

hibernate session 之flush 和commit 的区别

标签:

原文地址:http://www.cnblogs.com/predisw/p/4925532.html

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