Hibernate优化从完全加载的实体集中加载一对多集合

Hibernate优化从完全加载的实体集中加载一对多集合,hibernate,optimization,collections,load,one-to-many,Hibernate,Optimization,Collections,Load,One To Many,对于大多数实体类,Hibernate应用程序通常加载类的所有实体。是否可以告诉Hibernate某个类的所有实体都已加载,这样它就不会再进行任何db查询来填充该类的一对多集合了?好的,这是不可能的,除非您将OneToMany关联和关联的目标存储在二级缓存中 如果这些实体可以由另一个应用程序修改,或者如果应用程序本身修改这些实体并跨多个JVM进行集群,这当然会产生影响 否则,对这些实体使用二级缓存是一个非常好的解决方案。然后,您甚至可以避免加载每个会话中的所有实体,因为它们已经(惰性地)预加载到缓

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

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

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


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

谢谢您,您能给我推荐一个关于hibernate二级缓存的教程吗?不,我从参考文档开始。再次感谢你。如果你不介意的话,我可能会问你更多的问题。你能告诉我哪些二级缓存实现与Hibernate 4兼容吗?不知道。我还没有使用Hibernate4。