[JAVA] JPA Fetch 전략 완벽 가이드 – Lazy vs Eager 실무 적용법
JPA를 사용하는 백엔드 개발자라면 누구나 한 번쯤은 예상치 못한 쿼리 폭발 또는 무한 참조를 경험했을 겁니다. 대부분의 원인은 연관관계 설정 시 Fetch 전략을 정확히 이해하지 못한 데서 비롯됩니다.FetchType.LAZY와 FetchType.EAGER의 동작 방식, 각각의 장단점, 그리고 실무에서 언제 어떤 전략을 써야 하는지를 예제를 통해 알아보겠습니다. 1. Fetch 전략이란?JPA에서 연관된 엔티티를 언제 로딩할지 결정하는 정책을 Fetch 전략이라 부릅니다. 크게 두 가지 방식이 있습니다:Lazy Loading (지연 로딩): 연관된 엔티티를 실제로 사용할 때 쿼리를 실행Eager Loading (즉시 로딩): 엔티티를 조회할 때 연관된 엔티티도 함께 조회 2. 기본 전략: 단방향 vs..