2012-01-26 4 views
1

은 내가 JPA 엔티티와 쿼리가 있다고 가정 가입 가져옵니다.컬렉션

N + 1을 피하기 위해 distinct 및 join fetch를 모두 사용하는 것이 좋습니다. 콜렉션의 문제점 선택? 부작용이 있습니까?

답변

1

당신은 "DISTINCT SELECT"를 사용한다.

내 영어로 죄송합니다.

0

트릭을해야합니까? MyEntity와 자녀 사이 카티 제품을 실행하고 있기 때문에

public List<MyEntity> fetchAll() { 
    return em.createQuery("select e from MyEntity e inner join fetch e.children") 
      .getResultList(); 
} 
+0

아니요, 동일한 결과가 있습니다. 나는 각각 2 명의 자녀가있는 2 개의 MyEntities가 있다고 가정합니다. 이 쿼리는 4 개의 MyEntities를 반환하지만 2 개만 필요합니다. – ike3