在我的 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 迭代 Cs 时,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 好多了;-)
关于hibernate - Grails 条件查询与 fetchMode 急切,具有两个级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10626599/