【问题标题】:Hibernate optimize one-to-many collection loading from fully loaded entity setsHibernate 从完全加载的实体集中优化一对多集合加载
【发布时间】:2012-02-22 14:27:31
【问题描述】:

对于大多数实体类,我的 Hibernate 应用程序通常会加载类的 all 实体。是否可以告诉 Hibernate 某个类的所有实体都已加载,因此它不会再进行任何数据库查询来填充该类的一对多集合?

【问题讨论】:

    标签: hibernate optimization collections load one-to-many


    【解决方案1】:

    AFAIK,除非您将 OneToMany 关联和关联目标存储在二级缓存中,否则这是不可能的。

    如果这些实体可以被另一个应用程序修改,或者应用程序本身修改这些实体并跨多个 JVM 集群,这当然会产生影响。

    否则,对此类实体使用二级缓存是一个非常好的解决方案。然后,您甚至可以避免在每个会话中加载所有实体,因为它们已经(懒惰地)预加载到缓存中。

    【讨论】:

    • 谢谢你 Nizet,你能给我推荐一个关于 hibernate 二级缓存的教程吗?
    • 没有。我将从参考文档开始。 docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single
    • 再次感谢尼泽特。如果您不介意,可能会问您更多问题。
    • 你能告诉我哪些二级缓存实现与Hibernate 4兼容吗?
    • 不知道。我还没有使用 Hibernate4。
    猜你喜欢
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多