1

我有一个关于 GORM 和“多重”有很多关系的问题,我在之前的搜索中没有找到答案。

假设我们有三个域:

class A {
...
static hasMany = [Bs: B]
}

class B {
...
static belongsTo = A
static hasMany = [Cs: C]
}

class C {
static belongsTo = B
String name
dateCreated date
}

我想知道是否可以使用 A 类的对象(类似于 C.findAll(...., a: a.id) )或如果我必须使用更复杂的查询?

此致,

4

2 回答 2

0

如果 B 有:静态 belongsTo = [a:A]

那么你可以这样做:

C.withCriteria {
  a{
    eq('id', <a's id here>)
  }
  order('dateCreated', 'desc')
}
于 2013-10-14T14:25:14.657 回答
0

它有点困难,因为您没有存储对父对象的反向引用

像这样的东西-我自己没有测试

A.executeQuery("select distinct c from A a join a.bs as b join b.cs as c where a = :a", [a: a])
于 2013-10-12T23:31:03.613 回答