我有一个hibernate条件,它使用延迟提取加载TypeAbsence(我的实体)列表。在我的一个方法中,我需要急切地加载它,因为它是通过json发送的,当对象是惰性初始化时,json为null。
我试过了:
for(TypeAbsence typeAbsence: toReturn){
Hibernate.initialize(typeAbsence.getDesignation());
}
但这不起作用,当我使用intellij调试并打开toReturn列表时,对象仍然是懒惰的初始化:s
有没有办法在我们从标准中获得列表后急切地加载类型缺席?
这是代码
toReturn = typeAbsenceCriteria.getResultList();
/* Here I want to reload the lazy loaded objects in toReturn in a eager way and then return the list through json */
谢谢!
答案 0 :(得分:0)
使用Criteria Query API,您可以使用setFetchMode
示例:强>
List<Cat> cats = session.createCriteria(Cat.class)
.add( Restrictions.like("name", "Kitty%") )
.setFetchMode("mate", FetchMode.LAZY)
.setFetchMode("kittens", FetchMode.EAGER)
.list();
希望这有帮助。