0

请有人帮助我理解 Hibernate 中的“使用连接进行 Eager fetching”的概念,其中包含一个简单的示例查询和描述查询结果的表。我已经搜索了网络,但无法通过一个很好的例子得到解释。请帮助和指导我。

4

1 回答 1

0

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

从 SQL 的角度来看,假设您总是想使用急切获取的数据,它可能会更有效。通常,最好等到应用程序需要数据,此时 Hibernate 会进行新的查询以获取数据。

这实际上与延迟初始化应用程序构造的想法相同 -如果您需要它,请不要创建该连接/套接字/打开资源/除非您真正需要它。

如果这是一种父子关系,其中子对象有 1000s/10000s/1000000s 子对象,那么 Eager fetch 也可能是非常不可扩展的。这可能是大多数休眠性能问题的根源,解决方案是手动获取子项 - 不方便,但您的应用程序会很高兴。

[对不起,手头没有例子,但我想我可以很好地解释它。]

于 2016-04-29T00:48:43.060 回答