Person
및 PersonRoleAssociation
두 개체의 데이터를 결합하는 HQL
쿼리를 수행하려고합니다.HQL 다중 테이블 선택 - 외부 조인?
나는 Hibernate
4.3.10 및 Grails
3.0.10을 실행 중입니다. 이 표준 SQL
내부 왼쪽에 가입을하는 것과 같습니다
SELECT person
FROM Person person,
PersonRoleAssociation personRoleAssoc
WHERE personRoleAssoc.person = person
내 이해에서 :
나의 현재 쿼리는 다음과 같이 보입니다. 이것은 대부분의 경우에 적용되지만 PersonRoleAssociation
이없는 Persons
을 모두 쿼리해야합니다. 위 쿼리가 왼쪽 조인이므로 문제가 발생합니다.
표준 SQL
에서는 왼쪽 외부 조인을 사용하지만 HQL
에 해당하는 항목을 찾을 수 없습니다.
내 개체의 구조를 변경하지 않고 HQL
에서 외부 조인과 동일한 작업을 수행하려면 어떻게해야합니까?
Person 엔티티에 OneToMany 관계로 매핑 된 PersonRoleAssociation이 있습니까? –
@MaciejKowalski 아니, Grails에서 OneToMany 관계를 갖는 것이 아주 느릴 수 있다고 들었습니다. 그래서 그것을 피하려고했습니다. –