JPA를 처음 공부할 때 가장 많이 헷갈리는 개념 중 하나가 fetchType.EAGER와 fetchType.LAZY다.“언제 데이터를 가져온다”는 말은 많이 들어봤지만, 막상 코드에서 어떤 차이가 있고, 왜 실무에서는 특정 방식을 피하라고 하는지 이해하기 어렵다.이 글에서는 FetchType의 역할과 EAGER / LAZY의 차이를 JPA 내부 동작 기준으로 정리한다.Fetch Type이란?Fetch Type은 JPA에서 제공하는 enum으로, 연관 엔티티를 언제 로딩할지에 대한 기본 전략을 의미한다. EAGER와 LAZY는 그 전략의 값이다.public enum FetchType { LAZY, EAGER} FetchType은 쿼리 방식이 아니다중요한 오해부터 정리해야 한다.FetchType..