인프런 커뮤니티 질문&답변

이용희님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

간단한 주문 조회 V4: JPA에서 DTO로 바로 조회

join fetch 와 그냥 join 이 동일한 결과를 가지고 오나요?

21.05.04 19:20 작성

·

464

7

안녕하세요. 강의 재밌게 잘 보고 있습니다.

jpql 예제에서 V3 에는 join fetch 를 사용하고, V4 에서는 join 만 사용하셨는데 동일한 inner join 쿼리가 생성된 것 같습니다.

두 개의 사용 유형이 같은 방식으로 동작하는 것인지 궁금합니다.

답변 2

6

김영한님의 프로필 이미지
김영한
지식공유자

2021. 05. 04. 21:03

안녕하세요. 용희님

v3는 엔티티를 조회하는 것이고,

v4는 엔티티가 아닌 DTO로 바로 조회하는 방식입니다.

fetch join은 JPA에서 지원하는 문법이고, 엔티티를 조회할 때만 사용할 수 있습니다. DTO를 조회할 때는 사용할 수 없습니다.

fetch join을 사용하더라도 결국 관계형 데이터베이스에서 연관된 데이터를 조회할 때는 JOIN 구문을 사용하게 됩니다.

감사합니다.

1

이용희님의 프로필 이미지
이용희
질문자

2021. 05. 04. 22:49

늦은 시간인데 답변 감사합니다. 덕분에 잘 이해 되었습니다.  :)