withCriteria两级深层联想渴望获取grails

时间:2010-11-14 03:52:36

标签: grails gorm


我想在一个关联链中加载一个结构,两个层次。有点像:

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

感谢任何帮助! - 史蒂夫

1 个答案:

答案 0 :(得分:21)

搞定了。这是秘诀:

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