hibernate 中session.flush()和session.clear()

session.flush()和session.clear()就针对session的一级缓存的处理。
session.flush()的作用就是将session的缓存中的数据与数据库同步。
session.clear()的作用就是清除session中的缓存数据(不管缓存与数据库的同步)

  
Flush方法是可以设置的,也就是fulsh什么时候执行是可以设置的
 
 在session.beginTransaction前设置FlushMode
 
session.setFlushMode(FlushMode.Always|AUTO|COMMIT|NEVER|MANUAL)
 
FlushMode有5个值可选
Always:任何代码都会Flush
AUTO:默认方式–自动
Commit:COMMIT时
Never:始终不
MANUAL:手动方式
设置FlushMode 有个好处是可以节省开销,
比如默认session只做查询时,
就可以不让他与数据库同步了。

你可能感兴趣的:(Hibernate)