2013-10-12 3 views
1

GORM에 대한 질문이 있고 "여러"hasmany 관계가 있으며 이전 검색에서 답변을 찾지 못했습니다. 개체의 목록을 얻을 수 있습니다 만약 내가 알고 싶은Grails : Children of Children

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

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

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

:

의 우리는 세 개의 도메인이 있다고 가정 해 봅시다 클래스 C의 객체를 사용하여 dateCreated로 정렬 된 클래스 C (C.findAll (...., a : a.id)와 같은 것) 또는 더 복잡한 쿼리?

안부,

답변

0

그 상위에 다시 참조가

뭔가 같은 개체를 저장하지 않기 때문에 더 어려워 조금 - 나는 나 자신에게 그것을

A.executeQuery("select distinct c from A a join a.bs as b join b.cs as c where a = :a", [a: a]) 
+0

제임스에게 감사드립니다. 몇 가지 테스트를 거친 후 쿼리를 사용하지 않았지만 도메인 클래스에 역 참조를 추가했습니다 (내 의견으로는 더 간단합니다). – abincepto

0
를 테스트하지 않았다 B가있는 경우

는 : 정적 belongsTo를 = [A : A] 다음

당신은 할 수 있습니다 :

C.withCriteria { 
    a{ 
    eq('id', <a's id here>) 
    } 
    order('dateCreated', 'desc') 
}