2012-12-13 2 views
0

내가 hbm.xml에 정의 된 하나 개의 관계에 많은 두 테이블많은 하나 단방향 행

TableA, TableB이 표시되지 않습니다

예 :

TableA의

단방향 관계 (TableA ~ TableB) 이제 문제는, TableAcolumnIDFromTableA에 대한 값을 가질 수 있으며, 내가 TableA를 쿼리 할 때, 이러한 행은 또한 TableB의 행을 일치에서 떨어져 showup해야하지만, 그것은이다 TableA

관련 TableBhbm.xml에 항목이 없습니다 작동 안함.

내가 가진 쿼리는 다음과 같습니다 ZERO 행을 반환하는 쿼리 위

select column1, column2, tableA.tableB.someColumn from TableA tableA left outer join tableA.tableB as tabB where column1 Like '%someval%' 

.

마자 쿼리 (이 경우 tableA.tableB.someColumn에서) TableB의 관련 열을 제거 할 때, 내가 기대 얻고 결과 예상 된 결과를 반환하는 쿼리 위

select column1, column2 from TableA tableA left outer join tableA.tableB as tabB where column1 Like '%someval%' 

.

도움을 주시면 감사하겠습니다. 당신이

tableA.tableB.someColumn 

을 수행 할 때

답변

1

, 당신은 암시 적 내부는 테이블 간의 조인을 만듭니다. 이미 왼쪽 외부가

는 테이블 사이에 조인

select column1, column2, tabB.someColumn 
from TableA tableA 
left outer join tableA.tableB as tabB 
where column1 Like '%someval%' 

사이드 참고 :

from TableA tableA left outer join tableA.tableB as tabB 

그래서 당신은 당신이 왼쪽에 합류 개체에 할당 된 별칭을 사용할 필요가 쿼리를 체계적으로 별칭을 사용한 경우 훨씬 더 읽기 쉽습니다.

select tableA.column1, tableA.column2, tableB.someColumn 
from TableA tableA 
left outer join tableA.tableB as tableB 
where tableA.column1 like '%someval%' 
+0

빠른 답변을 주셔서 감사합니다. 질문을 입력하는 동안 내 마음에 하나를 다시), 사용하는 별칭에 대해 미안 해요. 내가 너의 제안을 시도하자. – kosa

+0

+1. 그것은 문제인 것 같습니다. 위키 답변으로 만들어야 할 수도 있습니다. 사람들은 합쳐진 개체 별칭 대신 개체 연결을 사용하여이 실수를 자주 할 수 있습니다. 나는 더 테스트 중이지만, 진행 방법에 대한 단서가 있습니다. 시간과 도움에 감사드립니다. – kosa

+0

제 경험상 도움이되지 않습니다. 나는 공식 문서 나 javadoc에서 답변을 얻은 Hibernate와 JPA (매우 자주 같은)에 대한 수많은 질문에 계속 답한다. 슬프지만 많은 프로그래머는 문서를 읽을 수 없거나 너무 게으르다. –

관련 문제