【发布时间】:2010-04-01 06:30:29
【问题描述】:
已通过 FlushMode 的休眠 api 规范,但没有得到确切的区别。所以请帮忙。
【问题讨论】:
已通过 FlushMode 的休眠 api 规范,但没有得到确切的区别。所以请帮忙。
【问题讨论】:
如果在触发任何查询之前刷新模式为“AUTO”,则休眠将检查是否有要更新的表。如果是这样,则将执行刷新,否则不会。如果刷新模式为“始终”,即使没有要更新的表,也会发生刷新。
检查源,org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(AutoFlushEvent)
【讨论】:
始终意味着在对集合运行任何查询之前,或者针对数据库重新运行此类查询。使用 auto 我假设引擎盖下有一些“魔法”,知道大多数数据不会经常更改,因此您不必总是刷新。它还影响交易期间可能发生的频率。我说可能是因为一些消息来源说设置刷新模式只是休眠的提示 - 但请参阅此线程进行一些讨论......
http://forum.springsource.org/archive/index.php/t-14044.html
【讨论】: