2013-11-04 1 views
0

나는 주위를 둘러 보았고 어떤 답변은 criteriabuilder를 사용하고 있습니다. 내 prob는 HQL에 있습니다. 나는 그들이 어쨌든에서 연관되지 않은 두 테이블 & B를 가지고 있지만 나는 테이블 B.에서 fieldB2의 값을 얻기 위해 각 필드에서 하나와 일치 할 필요가HQL 어소시에이션없이 두 테이블을 합치는 법

내 쿼리 :

Table A - fieldA1 (ex. value of '20'), fieldA2 A 
Table B - fieldB1 (ex. value of '20'), fieldB2 B 

이 작동하지 않습니다 : 그것은 구성 값이 A.에서 fieldA1의 값과 같은 경우

select new map (fieldA1 as fa, (select fieldB1 from B as b where a.fieldA1=b.fieldB1) as fb) from A as a 

을 이렇게 기본적으로, 나는 B에서 fieldB1를 얻을 필요가

이 작업을 수행하는 올바른 방법은 무엇입니까?

답변

0

연관없이 조건을 사용하여 HQL 또는 쿼리를 작성할 수 없습니다.

원시 SQL 쿼리를 사용하여 레코드를 검색하십시오.

+0

나는 그것이 사실일지도 모른다라고 생각했다. 그러나 원시 SQL을 사용하지 않는 것의 문제가있다? 감사합니다 – user742102

+0

아니요. 해결 방법은 없습니다. HQL을 쓰면 hibernate가이를 SQL로 변환 할 것이다. 그러나 연관성이 없다면 두 클래스가 어떻게 관련되어 있는지를 최대 절전 모드에서 어떻게 알 수 있습니까 (관계)? –

관련 문제