2013-06-11 1 views
-1
내가 NHibernate에 쿼리를 만들 수있는 방법

, 즉자 NHibernate는 왼쪽 외부 내가 명명 된 쿼리를 사용할 수 없습니다

select * from A 
left outer join B on A.ID = B.ID 
left outer join C on B.ProdID = C.ProdID 

불행하게도 아래 SQL 쿼리 같이해야 가입 할 수 있습니다. 그리고 A의 매핑은 어떻게되어야합니까?

감사합니다.

+0

중복 가능성 여기서 NHibernate에 왼쪽 외부 조인 (http://stackoverflow.com/questions/2756148/nhibernate-left-outer-join) – Peter

+0

[NHibernate Mapping Generator] (http://nmg.codeplex.com/)라고 불리는 도구가 있습니다. XML, Fluent 및 ByCode 매핑 스타일의 구문을 익힐 수 있습니다. – Justin

+0

현재 매핑을 추가하십시오. –

답변

0

지도 B는 A의 다 대일 속성입니다. B와 C의 관계는 일반적인 외래 키인 것처럼 보이지 않으므로 속성으로 매핑 할 수 없습니다. 따라서 외부에 합류하지 않아도됩니다.

HQL는, C가 외부 결합 일 수 없습니다 :

select * 
from A a 
    left join a.B b, 
    C c 
where 
    c.Description = b.Description 
+0

죄송합니다, 문제의 나쁜 설명을 위해, 나는 편집을했는데, ProdId는 테이블 B의 외래 키입니다. – Yanol

+0

왜 안 되니? 그것은 매우 강력합니다. –