강의

멘토링

로드맵

Inflearn Community Q&A

lua's profile image
lua

asked

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

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

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

Written on

·

309

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는 왜 별칭이 있는가

spring-bootJPAjavaspring

Answer 1

0

yh님의 프로필 이미지
yh
Instructor

안녕하세요. LUA님

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

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

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

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

감사합니다.

lua's profile image
lua

asked

Ask a question