Hibernate 测试grails属性是否为惰性/未初始化?
我似乎无法测试对象是否是惰性初始化的。我做错了什么Hibernate 测试grails属性是否为惰性/未初始化?,hibernate,grails,groovy,gorm,lazy-initialization,Hibernate,Grails,Groovy,Gorm,Lazy Initialization,我似乎无法测试对象是否是惰性初始化的。我做错了什么 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",
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
不能保证-如果您请求的是简单类型,它无论如何都会被获取
什么是
首选项
”类型?它是具有适当对象图的对象。氧指数。我在使用Grails1.3.6-你在使用什么?我在使用1.3.5。如果启用SQL日志记录,日志中会有哪些查询?如果您也在集合属性上尝试它,会怎么样?