2017-04-06 7 views
0

내가 2 개체 및 해당 쿼리를 상상해보십시오. 그러나 객체를 다루는 것은 [] 입력 - 안전하지, 그래서 내가 노력하겠습니다 "는 생성자 표현"사용 : 각 행에 대해 유일한 선택 p.id + n.name 및 최대 절전 모드최대 절전 모드 HQL 생성자 표현

select new com.peterservice.ccm.pom.internal.api.model.ProductOfferingResult(p, n.name) 
    from ProductOffering p 
    left join ProductOfferingName n on (n.productOfferingId = p.productOfferingId and n.salesChannelId= :salesChannelId) 

해당 쿼리와 그것을 "select * from ProductOffering p where p.id = : id"(n + 1 문제)

정상적으로 예상되는 동작입니까?

답변

0

봅니다 "왼쪽를 가져 가입"로 변경 :

select new com.peterservice.ccm.pom.internal.api.model.ProductOfferingResult(p, n.name) 
    from ProductOffering p 
    left join fetch ProductOfferingName n on (n.productOfferingId = p.productOfferingId and n.salesChannelId= :salesChannelId)