我似乎无法测试一个对象是否是惰性初始化的。我在这里做错了什么?
public void testLazy(){
User lazyUser = User.withCriteria {
like("userId", 'test')
fetchMode("preferences", FetchMode.LAZY )
}.get(0)
assertFalse( "DOM objects of user were not lazy initialized",
GrailsHibernateUtil.isInitialized(lazyUser, "preferences") )
}
答案 0 :(得分:1)
你做得很好。
完全相同的代码片段对我有用 - 对于(子域对象的)集合属性,isInitialized()
返回false
和String属性 - true
。也许FetchMode.LAZY
不是保证 - 如果你要求一个简单的类型,它无论如何都会被提取。
什么是preferences
'类型?