인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

dltjdqls12007345's profile image
dltjdqls12007345

asked

Real-world! Spring Boot and JPA Utilization 2 - API Development and Performance Optimization

Order Lookup V3: Converting Entities to DTOs - Fetch Join Optimization

distinct 질문 드립니다!

Written on

·

290

1

일대다 컬렉션 페치 조인 조회의 경우 팀A인 멤버가 1, 2, 3이면 DB는 멤버를 기준으로 조인을 해서 팀A인 row가 3개가 생기고

하이버네이트는 이를 받아와서 리스트로 반환(getResultList)해줄 때 리스트에 팀 A 엔티티를 3개 담아줍니다.

여기서 각각의 엔티티는 PK 값이 같기 때문에 서로 같은 엔티티를 참조합니다. (이렇게 이해를 했습니다!)

그러면 쿼리 횟수에 영향을 주는 건 페치 조인이고, distinct는 리스트에 중복 엔티티만 제거하는 역할만 하는 것 같은데 (select 다음 distinct가 추가되는 것 외에는 차이가 없음) 속도적인 면에서는 별 차이가 없는 것이 맞을까요??

javaJPAspring-bootspring

Answer 1

2

yh님의 프로필 이미지
yh
Instructor

안녕하세요. code-tree님

네 맞습니다. 성능에서는 거의 차이가 없다고 보시면 됩니다.

감사합니다.

dltjdqls12007345's profile image
dltjdqls12007345

asked

Ask a question