2011-05-03 2 views
-1

나는 다음과 같은 쿼리를 가지고 내가 왼쪽으로 수행 어떻게최대 절전 HQL은

select x.a, x.b, y.a, y.b 
from x, y 
where y.xid = x.id 

여기 조인 떠났다.

다음 스타일을 사용할 수 없으므로 다음을 제안하지 마십시오. 당신이 xy 사이의 관계를 가지고 있지 않은 경우는 외부를 표현할 수

select x.a, x.b, y.a, y.b 
from x left join x.y as y 
+0

를 정확히 문제가 무엇입니까? 왜 'left join'구문을 사용할 수 없습니까? – axtavt

+0

나는 hql을 업데이트했다. x에는 y에 대한 참조가 없지만 y에는 x를 참조하는 속성이 있습니다. 나는 x에서 y로 이동할 수 없다. – user373201

+0

지도를 조금 표시 할 수 있습니까? 정확히 x와 y의 관계는 무엇입니까? –

답변

1

은 HQL에서 그들 사이에 가입 할 수 있습니다.

따라서 관계를 만들거나 왼쪽 가입으로 native SQL query을 사용해야합니다. yx에 관계가있는 경우

, 당신은 바로 조인 왼쪽 다시 작성할 수 있습니다 :

select ... from y y right join y.x x 
+0

은 y가 x와 단방향으로 하나 이상의 관계를 가질 경우 외부 조인 작업을 수행합니다. hql은 어떻게됩니까? – user373201

+0

@ user373201 : 예, 업데이트를 참조하십시오. – axtavt

+0

빠른 답장을 보내 주셔서 감사합니다. – user373201