VVL1295

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

session 的 flush

Hibernate 的 flush 是指将 Hibernate 内存里的对象的状态同步到数据库,就是等同于更新操作;

flush 的行为与 flushMode 直接相关,有四种;

 

flushMode有四种:

  1,manual,要手动调用session的flush()方法才能进行操作;

  2,commit,在commit时调用session的flush()方法;

  3,auto,只会偶尔flush,保证不会查询到陈旧状态的数据;

  4,always,每次query(即每次数据库操作)都会进行flush,不建议这样做,这样做通常是低效的;


可以看到,flushMode 的不同可能造成更新语句的执行时机不同,这可能造成执行结果与我们的设想的不同,所以要多加注意,设为 manual 就能更好地控制执行的时机;

 

posted on 2016-10-19 11:35  bobo2018  阅读(249)  评论(0)    收藏  举报