我似乎无法测试对象是否被延迟初始化。我在这里做错了什么?

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'类型?

09-27 09:29