2012-01-02 2 views
1

가입 지정에 가입 나는 다음과 같은 SQL이 있습니다능통 자 NHibernate는 기준에게

select a.a, b.b, c.c 
from apple a 
join burger b on a.b = b.b 
left outer join charlie c on a.c = c.c 
where c.x = 'kke'; 

가 난 다음 능통 자 NHibernate 매핑을 시도, 그것을 매핑을 :

다음 SQL 결과

public entityMap() 
    { 
     Table("apple"); 
     Id(x => x.a, "a").GeneratedBy.TriggerIdentity(); 

     Join("burger", m => 
     { 
      m.Inverse(); 
      m.Fetch.Join(); 
      m.KeyColumn("b"); 


     }); 
     Join("charlie", m => 
             { 
      m.Inverse(); 
      m.Fetch.Join(); 
      m.KeyColumn("c"); 
     }); 
     Where("this_1_.x = 'kke'"); 

    } 

select a.a, b.b, c.c 
from apple a 
join burger b on a.a = b.b 
left outer join charlie c on a.a = c.c 
where c.x = 'kke'; 

당신이 볼 수 있듯이 조인은 aa = bb와 aa = cc이고, 나는 ac = cc이고 ab = b.b.

참고 문헌없이이 작업을 수행하려면 어떻게해야합니까? (세 개의 테이블 모두에서 하나의 엔티티 만 필요합니다).

답변

1

불가능합니다.

나는 NHibernate가 당신이 사용하고있는 데이터베이스 중심 접근법에 적합한 도구라고 생각하지 않는다.

관련 문제