작성
·
272
1
쿼리에 fetch 쓰는 부분과
Entity 자체에서
같은 방법으로 볼 수 있을까요?
답변 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
는 가져올 때 게으르게 가져오다
이렇게 기억하시면 이해에 조금 더 도움 되실 것 같아요!
또 궁금하신 점 있으시면 편하게 질문 남겨주세요. 감사합니다~!! 🙏 🙏