hibernate - 覆盖 OneToMany 关联中的延迟获取

标签 hibernate jpa jpql

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

  1. 在 getMyList() 中添加 myList.size()
  2. 覆盖惰性抓取(联合抓取)
  3. 急切获取

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

最佳答案

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

Eager fetching 描述了一种关系的惰性,或者何时 发生抓取。联合抓取描述抓取策略,或者抓取如何发生。两者是不同的概念。 Section 21.1 Hibernate 引用指南的完整描述以及许多其他有用的花絮。

关于hibernate - 覆盖 OneToMany 关联中的延迟获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6721141/

相关文章:

java - 在 Criteria Query where 子句中使用日期

java - JPA - 将 @Version 保存为数据类型 long

java - 我可以将 HQL 与 JPA 的 @Query 注释一起使用吗?

javax.persistence.PersistenceException : org. hibernate.exception.GenericJDBCException:无法使用executeQuery()发出数据操作语句

string - JPA 字符串比较

java - JAR 如何加载 hibernate.cfg.xml 外部文件?

java - 在 HQL 中使用内部连接的子查询

java - 使用 datetime 而不是 datetime2 sqlserver hibernate

sql - 无法级联删除@OneToOne 成员

java - 是否可以在 jpa 中调用不调用 setter 的情况下更新实体