작성
·
253
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
안녕하세요. LUA님
결론은 JPA 표준스펙은 fetch join에 별칭을 사용하면 안됩니다.
하지만 실무에는 필요할 때가 종종 있어서 hibernate 구현체에서는 허용합니다.
관련해서 깊이있는 내용은 다음 질문을 참고해주세요^^
https://www.inflearn.com/questions/15876
감사합니다.