我似乎无法测试对象是否被延迟初始化。我在这里做错了什么?
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") )
}
最佳答案
你没事。
完全相同的代码段对我有用-对于(子域对象的)集合属性,isInitialized()
返回false
,对于字符串属性-true
。也许FetchMode.LAZY
不能保证-如果您请求的是简单类型,则无论如何都会获取它。
什么是preferences
'类型?