LOADING STRATEGY

로딩 전략은 전역 기본값보다 use case 기준으로 고른다

JPA의 기본 EAGER 연관은 보조 SELECT와 N+1로 이어질 수 있어, LAZY 중심 설계와 명시적 fetch가 안전하다.

LAZYEAGERUse case

LAZY 중심 설계

default

대부분 연관은 필요할 때만 로딩

query

fetch join, entity graph, batch fetch로 명시

benefit

불필요한 SQL과 데이터 전송 감소

EAGER 남용 위험

always

필요 없어도 가져오려는 경향

select

join fetch 누락 시 보조 SELECT 반복 가능

debug

어디서 SQL이 늘었는지 추적 어려움