【发布时间】:2011-07-17 09:07:11
【问题描述】:
我一直面临 LazyInitializationException 并通过谷歌搜索得到了三个解决方案:
- 在 getMyList() 中添加 myList.size()
- 覆盖惰性提取(加入提取)
- 渴望获取
我正在避免急切获取,并且想知道急切获取和加入获取之间有什么区别。谁能告诉我最好的解决方案是什么?
【问题讨论】:
我一直面临 LazyInitializationException 并通过谷歌搜索得到了三个解决方案:
我正在避免急切获取,并且想知道急切获取和加入获取之间有什么区别。谁能告诉我最好的解决方案是什么?
【问题讨论】:
最佳解决方案可能是您未列出的解决方案:open session in view pattern。 Spring 以Servlet Filter 或method interceptor 的形式提供了一个非常方便的模式实现。
Eager fetching 描述了关系的惰性,或者 when fetching 发生。 Join fetching 描述了 fetch 策略,或者 如何 fetching 发生。两者是不同的概念。 Hibernate 参考指南的Section 21.1 完整描述了如何以及何时位以及许多其他有用的花絮。
【讨论】: