2012-11-29 5 views
0

이 같은 도메인 클래스가 있습니다Grails의 기본 클래스에서 선택하여 슈퍼 클래스를 사용하여이

Base { 
    filed filed11 
} 

Super extends Base{ 
    Right filed2 
} 

Supers extends Base{ 
    Left filed2 
} 

과 나는 같은 것을하고 싶지 :

from Base b 
    left join Super as s 
    with b.id = s.id where s.field2.isOk == true 

질문입니다 : 어떻게 가입 할 수 있습니다 하나의 쿼리에서 기본 클래스가있는 수퍼 클래스? 내 쿼리가 작동하지 않습니다.

+1

어디에 문제가 있습니까? – janisz

답변

2

하나의 엔티티에서 다른 엔티티로 이동하려면 엔티티가 필요합니다. 여기에 관련이 없습니다. SuperBase입니다. 그것은 상속이므로 Super Base입니다.

from Super s where s.field2.isOK == true 

는 비유로 설명하기 : 당신은 "나에게 신발 끈이있는 구두를 가진 모든 옷주세요"요청하지 않는

. "신발 끈으로 모든 신발을주세요.". 옷에는 구두가 없기 때문에 (그리고 그 반대도 마찬가지). 신발 입니다.

관련 문제