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

LUA님의 프로필 이미지

작성한 질문수

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

간단한 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조인 최적화

fetch join 할 때 쿼리에 대한 질문드립니다!

20.05.13 13:50 작성

·

243

0

n+1 문제가 발생하는걸 위해 페치조인을 사용했는데

select o from Order o join fetch o.member join fetch o.delivery d

이렇게 사용할때 의문이 드는부분이 o.member는 그냥 적어주었는데 o.delivery 에서는 왜 d라고 별칭을 준것인지 궁금합니다 별칭이 있거나 없거나 유무에 따라 차이가 존재하나요??

혹은 페치조인을 사용할 때 첫번째로 join하는 테이블은 별칭을 사용하지 않고 두번째 테이블부터 별칭 사용이 가능하다거나 하는 제약사항이 있는지 궁금합니다!

결론 : o.member는 별칭이 없고 o.delivery는 왜 별칭이 있는가

답변 1

0

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

2020. 05. 13. 21:59

안녕하세요. LUA님

결론은 JPA 표준스펙은 fetch join에 별칭을 사용하면 안됩니다.

하지만 실무에는 필요할 때가 종종 있어서 hibernate 구현체에서는 허용합니다.

관련해서 깊이있는 내용은 다음 질문을 참고해주세요^^

https://www.inflearn.com/questions/15876

감사합니다.

LUA님의 프로필 이미지

작성한 질문수

질문하기