我需要一个助手来了解属性是否已加载,以避免 LazyInitializationException
。可能吗?
@Entity
public class Parent {
@OneToMany
private List<Child> childList;
}
@Entity
public class Child {
}
"select distinct p from Parent p left join fetch p.childList";
// Answer goes here
// I want to avoid LazyInitializationException
SomeHelper.isLoaded(p.getChildList());
最佳答案
实际上有两种方法。
要了解惰性属性 是否已初始化,您可以调用Hibernate.isPropertyInitialized()
。以您的实体实例和属性名称作为参数的方法。
要了解惰性集合(或实体)是否已初始化(如您的示例),您可以调用Hibernate.isInitialized()
以集合(实体)实例作为参数。
关于java - 是否有助手可以知道 Hibernate 是否已加载属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1589144/