hibernate - 测试grails属性是否为惰性/未初始化?

标签 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",   
         GrailsHibernateUtil.isInitialized(lazyUser, "preferences") )
}

最佳答案

你没事。

完全相同的代码段对我有用-对于(子域对象的)集合属性,isInitialized()返回false,对于字符串属性-true。也许FetchMode.LAZY不能保证-如果您请求的是简单类型,则无论如何都会获取它。

什么是preferences'类型?

关于hibernate - 测试grails属性是否为惰性/未初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5745601/

相关文章:

java - 如何关闭 Ant 控制台中 hbm2ddl 的大部分输出?

grails - Grails 3-Spring Security OAuth2提供程序-自定义安全提供程序被忽略

java - 如何将 Jython 文件导入 Groovy?

performance - Spock 性能问题

java - 两个线程查询一个表

java - 与hibernate注解一对一关系

java - 接口(interface)只是 Java 的骨架,那么 CrudRepository 是如何提供所有 CRUD 操作的呢?

javascript - Grails jQuery 插件和 JS 脚本之间的冲突

grails - 在Grails 2.0中为域对象使用分配的ID

Grails 示例和示例代码片段