코딍코딍
코딩기록
코딍코딍
전체 방문자
오늘
어제
  • 분류 전체보기 (271)
    • 개발 (2)
    • Java (1)
    • 스프링 (28)
    • JPA (11)
    • Git (3)
    • 알고리즘 (160)
      • 백준 (132)
      • 프로그래머스 (8)
      • SWEA (20)
    • 토이 프로젝트 (14)
      • 간단한 Springboot CRUD (1)
      • 게시판 프로젝트 (13)
    • 알고리즘 개념정리 (8)
    • 오류 해결 (13)
    • 보류 (0)
    • AWS (5)
    • 트러블 슈팅 (0)
    • 회고 (3)
    • CS (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

최근 글

티스토리

hELLO · Designed By 정상우.
코딍코딍

코딩기록

카테고리 없음

Querydsl dto 조회시 fetch join X

2023. 3. 3. 21:00

https://www.inflearn.com/questions/23847/queryprojection%EA%B3%BC-fetch-join

 

@QueryProjection과 fetch join - 인프런 | 질문 & 답변

List<ProjectionResult> fetch = queryFactory .select(new QProjectionResult(classA.id, classA.relStatus.stringValue(), ...

www.inflearn.com

실전API2 => DTO를 직접 조회 에서 설명해줄듯 => 직접 조회시 페치조인 X

그럼 어케해 ㅅㅂ Tuple도 DTO로 인식되서 페치조인을 못 쓰는데 그럼 뭐지

 

해결법

  1. 엔티티 조회 방식으로 우선 접근(이후, DTO로 만들어 반환 가능)
    1. 페치조인으로 쿼리 수를 최적화
    2. 컬렉션 최적화
      1. 페이징 필요 O => hibernate.default_batch_fetch_size , @BatchSize 로 최적화
      2. 페이징 필요 X => 페치 조인 사용
  2. 엔티티 조회 방식으로 해결이 안되면 DTO 조회 방식(DTO로 직접 조회) 사용
  3. DTO 조회 방식으로 해결이 안되면 NativeSQL or 스프링 JdbcTemplat
    코딍코딍
    코딍코딍
    ㅎ2

    티스토리툴바