Fetch Strategy

N+1 해결책은 화면이 필요한 데이터 모양으로 고른다

무조건 EAGER로 바꾸지 말고, 조회 목적에 맞춰 fetch join, EntityGraph, batch fetch, DTO projection을 선택한다.

출발 질문이 화면은 연관 데이터를 어떻게 보여 주는가?
Q1항상 함께 필요한 단건 연관인가?
fetch join
목록 크기 확인
Q2여러 API에서 같은 그래프를 재사용하는가?
EntityGraph
컬렉션 수 확인
Q3지연 로딩 대상이 많지만 묶어 읽을 수 있는가?
batch fetch
응답 DTO 확인
Q4수정 없이 화면 컬럼만 필요한가?
DTO projection
엔티티 로딩 유지
1:N fetch join은 중복 row와 pagination 제약을 반드시 검증한다.