Grails 标准查询与 fetchMode 渴望两个级别



在我的Grails项目中,我有以下类:

class A {
    static hasMany = [cs:C]
}
class B {
    static hasMany = [cs:C]
}
class C {
    static belongsTo = [a:A, b:B]
}

我想查询 A 类并热切地带来来自 B 和 C 的所有关联。我尝试了以下条件查询,但是当我从 A 迭代 C 时,hibernate 使用延迟初始化来查询 B 对象。

A.withCriteria() {
    fetchmode "cs", FetchMode.JOIN
    fetchMode "cs.b", FetchMode.JOIN
}

有什么想法吗?

已解决。

A.withCriteria() {
    cs{
        fetchMode "cs.b", FetchMode.JOIN
    }
}

A.withCriteria() {
    cs{
        b{
        }
    }
}

在这两种情况下,Hibernate都使用两个查询。比我之前的98好多了;-(

最新更新