2011-10-04 6 views
4

내가 처음에 필요한 모든 정보 자체를 선택 얻고 있지만이, 배수 쿼리를 생성JPA Hibernate는하여 여러개의 쿼리

select distinct s from Singer s 
    left join fetch s.singerIdentifiers si //singerIdentifiers is collection in Singer object 
    left join fetch si.identifier i 
    left join fetch i.identifierReportedAreas ira 
    left join fetch irc.reportedArea ra 
    left join fetch rc.reportingSystem rs 
    where s.id in (?); 

을 다음과 같이 내가 열심히 멀티 레벨 연결을 가져올 수있는 JPQL 쿼리가 생성 가져 가입 떠났다. 모든 추가 조회는 SingerIdentifier 테이블 데이터에 첫 번째 조회와 다른 IdentifierIds를 조회하는 데 사용됩니다.

이와 관련하여 도움을 주실 수 있습니다.

+0

"대답"이 삭제되었습니다. 방금 시도한 및 비슷한 수준의 쿼리로 조인 가져 오기 (최대 절전 모드 3.5.6) 것 같습니다. –

+0

안녕하세요, Mikko Maunu 님, 노력에 감사드립니다. 컬렉션이나 OneToOne 연관을 사용하여 연결을 시도 했습니까? 얼마나 많은 쿼리를 생성 했습니까? 그냥 알고 싶어 ... – user877016

+0

안녕하세요, @OneToMany 세트 , 여섯 단계 : SELECT DISTINCT FROM Ent 1 LEFT JOIN FETCH e.entities e2 LEFT JOIN FETCH e2. 엔티티 e3 LEFT JOIN .... –

답변

1

어쩌면 오타일까요?

left join fetch i.identifierReportedAreas -->ira<-- 
    left join fetch -->irc<---.reportedArea ra 
관련 문제