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 就能更好地控制执行的时机;
浙公网安备 33010602011771号