java - 子实体引用如何在使用 OSIV 方法(在 View 中打开 session )的应用程序中返回 LazyInitializationException?

标签 java hibernate lazy-initialization

session 似乎在引用子对象之前立即打开,但在 session 的集合持久化上下文映射 (org.hibernate.engineStatefulPersistenceContext.集合条目)。

父实体和子实体之间的关系由以下定义:

@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
@ManyToMany
@JoinTable(name="rt_vacancy_check",
           joinColumns = @JoinColumn(name="vacancy_id"),
           inverseJoinColumns = @JoinColumn(name="check_name")
)
@BatchSize(size = 10)
private Set<PreEmployCheck> preEmployChecks = new HashSet<PreEmployCheck>();

有哪些可能的原因会触发 LazyInitializationException?

最佳答案

是否有可能使用 Hibernate session 获取父级,传递多个请求(在应用程序或 session 范围内),然后与另一个 Hibernate session 一起使用?

OSIV 使用线程本地 Hibernate session ,不同的请求可以(并且通常)最终使用不同的 Hibernate session 。

关于java - 子实体引用如何在使用 OSIV 方法(在 View 中打开 session )的应用程序中返回 LazyInitializationException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6996298/

相关文章:

java - Android OnClickListener、 Intent 和上下文

java - 使用 Hibernate Criteria 时,类型 List 的表达式需要未经检查的转换以符合 List<Student>

java - 从我的二级 ehcache 中检索项目后出现 "org.hibernate.LazyInitializationException"异常

ios - Swift 中的错误或 "lazy initialisation"模式

java - 如何在 Java Jersey Application 中使用查询参数?

java - 为什么 protected clone()方法无法使用同一包中的继承来访问

java - 如何在运行时配置 JPA(表的特殊模式)

java - hibernate 5 : db connections are still not released (idle in transaction) after lazy loading

java - 如何对所有实现 MyInterface 的类应用 ThrowsAdvice

java - Hibernate:按日期和时间排序数据