0

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

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") )
}
4

1 回答 1

1

你做得很好。

完全相同的代码片段对我有用 - 用于isInitialized()返回的(子域对象的)属性集合false和 String 属性 - true。也许FetchMode.LAZY不是保证——如果你请求一个简单的类型,它无论如何都会被获取。

什么是preferences'类型?

于 2011-04-21T15:38:49.017 回答