热切期待加入

时间:2016-04-28 08:51:08

标签: hibernate join eager fetching-strategy

有人可以通过一个简单的示例查询和描述查询结果的表来帮助我理解Hibernate中的“使用Joins提取”的概念。我在网上搜索过但无法用一个很好的例子得到解释。请帮助和指导我。

1 个答案:

答案 0 :(得分:0)

急切提取会在对象的初始提取中立即返回已连接的表数据,而不是等到应用程序明确请求它。

从SQL的角度来看,假设您总是希望使用急切获取的数据,它可能会更有效。通常,等待应用程序需要数据通常会更好,此时Hibernate会创建一个新查询来获取数据。

这与懒惰初始化应用程序构造的想法完全相同 - 在实际需要之前不要创建连接/套接字/打开资源/ 如果你需要它。

如果这是父子关系,其中子项具有1000s / 10000s / 1000000s子对象,则急切提取也可能非常不可扩展。这可能是大多数hibernate性能问题产生的地方,解决方案是手动获取子项 - 不方便,但您的应用程序会很高兴。

[抱歉,附近没有示例,但我想我可以解释得很好。]