【问题标题】:overriding lazy fetch in OneToMany association覆盖 OneToMany 关联中的延迟获取
【发布时间】:2011-07-17 09:07:11
【问题描述】:

我一直面临 LazyInitializationException 并通过谷歌搜索得到了三个解决方案:

  1. 在 getMyList() 中添加 myList.size()
  2. 覆盖惰性提取(加入提取)
  3. 渴望获取

我正在避免急切获取,并且想知道急切获取和加入获取之间有什么区别。谁能告诉我最好的解决方案是什么?

【问题讨论】:

    标签: hibernate jpa jpql


    【解决方案1】:

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

    Eager fetching 描述了关系的惰性,或者 when fetching 发生。 Join fetching 描述了 fetch 策略,或者 如何 fetching 发生。两者是不同的概念。 Hibernate 参考指南的Section 21.1 完整描述了如何以及何时位以及许多其他有用的花絮。

    【讨论】:

    • 感谢您的快速回答,您介意告诉我 eager fetch 和 join fetch 之间的区别吗?
    • 更新了我的答案,包括了这方面的细节。
    猜你喜欢
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多