인프런 커뮤니티 질문&답변
쿼리에 fetch 쓰는 부분
작성
·
348
1
쿼리에 fetch 쓰는 부분과
Entity 자체에서
FetchType.LAZY 써주는것과
같은 방법으로 볼 수 있을까요?
답변 1
0
최태현
지식공유자
안녕하세요, 별볼일있는 개발자님! 질문 남겨주셔서 감사합니다! 😊
쿼리에 fetch를 쓰는 것 (fetch join)
Entity에서 옵션으로
FetchType.LAZY를 주는 것
은 다른 설정이라고 봐주시면 될 것 같아요! (즉 다른 방법입니다!)
차이점을 설명드려보면 다음과 같습니다! A Entity와 B Entity가 1 : N 관계라고 해볼게요!
FetchType.LAZY 를 사용하게 되면, A Entity를 가져올 때 B 엔티티까지 가져오지 않고, B 가 정말 필요해진 순간, B 데이터를 가져오죠. 그래서 게으르다(lazy)고 표현하는겁니다! 만약 게으르지 않았다면, A를 가져올 때 B 까지 한 번에 가져올 수 있었을 테니까요!
반면, fetch join은 FetchType.LAZY 와 반대입니다. fetch join은 join을 통해 A 와 B 를 가져올 때 한 번에 가져오는 기능입니다.
fetch join은 함께 가져오다
FetchType.LAZY는 가져올 때 게으르게 가져오다
이렇게 기억하시면 이해에 조금 더 도움 되실 것 같아요!
또 궁금하신 점 있으시면 편하게 질문 남겨주세요. 감사합니다~!! 🙏 🙏





