【问题标题】:withCriteria two level deep association eager fetch grailswithCriteria 两级深度关联渴望获取 grails
【发布时间】:2011-05-09 17:37:05
【问题描述】:


我想急切地加载一个结构,在关联链深处有两层。大致如下:

class TopLevel {
    String name

    LevelOne levelOne
}    

class LevelOne {
    String name

    LevelTwo levelTwo
}

class LevelTwo {
    String name
}

我想加载整个结构。环顾四周,我找到了这个例子,但它没有用。 “println”生成了对 LevelTwo 表的查询。

def result = TopLevel.withCriteria {
    eq('name', 'test')
    fetchMode "levelOne", FetchMode.JOIN
    levelOne {
        fetchMode "levelTwo", FetchMode.JOIN
    }
}

println result.levelOne.levelTwo.name

感谢任何帮助!
- 史蒂夫

【问题讨论】:

    标签: grails grails-orm


    【解决方案1】:

    搞定了。这是秘诀:

    def result = TopLevel.withCriteria {
        eq('name', 'test')
        fetchMode 'levelOne', FetchMode.JOIN
        fetchMode 'levelOne.levelTwo', FetchMode.JOIN
        fetchMode 'levelOne.levelTwo.levelThree', FetchMode.JOIN
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-20
      • 1970-01-01
      • 2023-03-09
      • 2014-09-29
      • 1970-01-01
      • 2012-08-21
      • 2014-05-15
      • 1970-01-01
      相关资源
      最近更新 更多