QueryDSL 쓰면서
예를들어
ItemDetailResponse에
List<OptionGroupResponse> 필드가 있고
OptionGroupResponse 안에는
List<OptionSpecsResponse>가 있는 구조
컬렉션 안에 컬렉션 인 Response로 select 결과 매핑 할때
각 컬렉션을 조회해서
List<OptionGroupResponse> 이거 따로
List<OptionSpecsResponse 이거 따로
조회해서 stream() 메서드 써서 ItemDetailResponse에 합치는 쪽으로 구현 했는데
아무래도 쿼리1개로 모두 조회하는게 아닌 여러번의 쿼리가 실행되는 이런 구조는 최대한 지양하는게 좋을까요?
queryDSL 에
transform & groupBy 조합으로 컬렉션 여러개 일때 한방쿼리로 하는것도 있는거같던데 그런 방식으로 구현하는게 좋나요?
Paging Query
페이징 쿼리는 지금 상황이랑 연관이 없지 않나요??
N+1 발생하기 좋은 상황이지.. 지양하는게 좋고 보통 그런경우는 설계가 잘못된 경우지 일단 List List
일단 List List 치다가 어디 가셨나요 선생님
버근가 쨋든 List OptionGroupResponse , List OptionSpecsResponse 이거 두개 쿼리로 따로 가져와서 코드 유지보수 좋게 짜셈 위 두개 데이터 많아지면 그때 다른방법 찾아보고
그럼 일단은 지금 방식처럼 List 개별로 따로 가져와서 합치는 방식으로 구현하고 나중에 데이터양이 많아지면 그 때 다른방법으로 가라는 뜻으로 이해하면 될까요?