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

레알이님의 프로필 이미지

작성한 질문수

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

QueryDSL 소개

fetchJoin 문의드립니다.

21.02.12 17:25 작성

·

195

1

영한 스승님 안녕하세요!

본 강의에서 작성하신 querydsl 코드에서요. 궁금한 점이 있습니다!

fetchJoin 메서드 호출 없이 join 메서드만 호출할 경우' 주문 엔티티'가 가지고 있는 '멤버 엔티티'를 가져오기 위해 추가적인 쿼리가 호출되지 않을까요?

불필요하게 select 쿼리 내 join 절이 붙어서 나가는 것이 아닌가 궁금합니다.  

답변 2

1

레알이님의 프로필 이미지
레알이
질문자

2021. 02. 14. 18:17

답변해 주셔서 감사합니다!
join을 명시하지 않은 경우 cross join이 호출되는군요!

1

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

2021. 02. 13. 14:24

안녕하세요. 레알이님

select 쿼리 내 join절이 붙어 있는 이유는 주문(order) 상태, 회원(member) 이름 으로 where 검색이 필요하기 때문에 where 절에서 사용이 목적입니다.

생각하신 것 처럼 멤버 엔티티가 필요하면 추가 쿼리가 호출됩니다. order를 조회했을 때 member가 필요하면 fetch join을 사용하는 것이 좋겠지요?

감사합니다^^