Order를 우선 가져오고, 연관 정보는 접근 시점에 뒤늦게 필요해질 수 있습니다.
핵심은 연관 엔티티를 읽어 가며 데이터를 모으는 것이 아니라, 필요한 컬럼을 한 번의 조인 결과로 모아 DTO에 즉시 담아 반환하는 것입니다.
id, amount, name만 가져옵니다.
Order를 우선 가져오고, 연관 정보는 접근 시점에 뒤늦게 필요해질 수 있습니다.
응답에 쓸 컬럼만 바로 선택합니다.
SELECT new OrderDto(o.id, o.amount, u.name)목록은 1번 조회했어도 user.name 같은 접근마다 N번 더 나갈 수 있습니다.
필요한 연관 값이 이미 한 쿼리에 포함되어 있어 후속 조회가 생기지 않습니다.
변경 감지와 영속성 컨텍스트를 활용할 수 있지만, 읽기 화면에는 과한 데이터가 섞일 수 있습니다.
응답 모양이 명확하고 가벼워서 목록, 대시보드, API 조회처럼 성능 중심 화면에 잘 맞습니다.