【问题标题】:Difference between FlushMode.AUTO and FlushMode.ALWAYS in Hibernate?休眠中 FlushMode.AUTO 和 FlushMode.ALWAYS 之间的区别?
【发布时间】:2010-04-01 06:30:29
【问题描述】:

已通过 FlushMode 的休眠 api 规范,但没有得到确切的区别。所以请帮忙。

【问题讨论】:

    标签: java hibernate


    【解决方案1】:

    如果在触发任何查询之前刷新模式为“AUTO”,则休眠将检查是否有要更新的表。如果是这样,则将执行刷新,否则不会。如果刷新模式为“始终”,即使没有要更新的表,也会发生刷新。

    检查源,org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(AutoFlushEvent)

    【讨论】:

      【解决方案2】:

      始终意味着在对集合运行任何查询之前,或者针对数据库重新运行此类查询。使用 auto 我假设引擎盖下有一些“魔法”,知道大多数数据不会经常更改,因此您不必总是刷新。它还影响交易期间可能发生的频率。我说可能是因为一些消息来源说设置刷新模式只是休眠的提示 - 但请参阅此线程进行一些讨论......

      http://forum.springsource.org/archive/index.php/t-14044.html

      【讨论】:

        猜你喜欢
        • 2010-10-11
        • 1970-01-01
        • 2022-07-09
        • 2013-07-10
        • 1970-01-01
        • 2015-03-30
        • 1970-01-01
        • 2010-10-11
        相关资源
        最近更新 更多