有没有办法验证Lazy加载的对象不在Hibernate会话中?

时间:2016-08-08 05:56:51

标签: java hibernate

假设有一个Parent类,我使用lazy = "true"加载它。

有没有办法在显式调用之前验证Set是否未加载到内存中?

public class Parent{
   private Intger parentId;
   Set <Child> child = new HashSet(); 
}

儿童班:

public class Child{
   private Integer childId;
   Parent p; 
}

当我加载Parent时,在我调用parent.getChild()之前,是否有办法验证孩子是否未加载到内存中?

1 个答案:

答案 0 :(得分:3)

为了测试应用程序,使用了以下功能:

Set<Child> childLazy = parentLazyLoaded.getChild();
Set<Child> childEager = parentEagerLoaded.getChild();

//then use the following methods
System.out.println("Lazy Loaded: " + Hibernate.isInitialized(childLazy));
System.out.println("Eager Loaded: " + Hibernate.isInitialized(childEager));

第一个返回false,第二个返回true