覆盖OneToMany关联中的延迟提取

时间:2011-07-17 00:21:43

标签: hibernate jpa jpql

我一直在面对LazyInitializationException并通过Google搜索获得了三个解决方案:

  1. 在getMyList()
  2. 中添加myList.size()
  3. 覆盖懒惰提取(连接提取)
  4. 渴望获取
  5. 我正在避免急切的提取,并想知道渴望获取和加入提取之间的区别。有谁能告诉我什么是最好的解决方案?

1 个答案:

答案 0 :(得分:2)

最佳解决方案可能是您未列出的解决方案:open session in view pattern。 Spring以Servlet Filtermethod interceptor的形式提供了非常方便的模式实现。

渴望提取描述了关系的懒惰,或提取时。连接提取描述了提取策略,或 提取方式。这两个是不同的概念。 Hibernate参考指南的Section 21.1详细描述了如何以及何时使用了许多其他有用的花絮。