JPA/Fetch join

JPQL 페치 조인 (fetch join) - ②

2021. 7. 24. 18:51

페치 조인의 특징과 한계

 

  • 페치 조인 대상에는 별칭을 줄 수 없다. 하이버네이트는 가능하지만 가급적 사용하지 않는다.
  • 둘 이상의 컬렉션은 페치 조인 할 수 없다.
  • 컬렉션을 페치 조인하면 페이징 API를 사용 할 수 없다. .setFirstResult(), .setMaxResults() 사용 불 가능

 

이러한 한계에도 불구 하고 연관된 엔티티들을 SQL 한 번으로 모두 가져올 수 있기 때문에 좋은 성능을 내기 위해서 사용하고 있다. 따라서 성능 최적화가 필요한 곳은 페치 조인을 적용한다.

 

 

fetch join 정리

 

모든 것을 페치 조인으로 처리할 수 는 없다.

페치 조인은 객체 그래프를 유지할 때 사용하면 효과적이다.

여러 테이블을 조인해서 엔티티가 가진 모양이 아닌 전혀 다른 결과를 내야 한다면, 페치 조인보다는 일반 조인을 사용하고 필요한 데이터들만 조회해서 DTO로 반환하는 것이 효과적이다.

 

저작자표시 (새창열림)
'JPA/Fetch join' 카테고리의 다른 글
  • JPQL 페치 조인 (fetch join) - ①
수달하나
수달하나
열심히 잘 사는게 목표
수달하나
Develop Lab
수달하나

링크

GITHUB
INSTAGRAM
  • 전체 글 (121)
    • 프로젝트 (10)
    • JAVA (2)
      • 비동기 처리 (4)
      • Stream (1)
      • 리플렉션 (0)
      • 파일 시스템 (1)
      • Optional (2)
      • JUnit (1)
      • Hash, HashCode (1)
      • 자료구조 (7)
    • Spring (17)
      • Filter (1)
      • 스프링 인터셉터 (1)
      • Dispatcher servlet (1)
      • MVC 패턴 (2)
      • Java bean (3)
      • DI (2)
    • JPA (8)
      • Fetch join (2)
      • JPQL (2)
      • 영속성 컨텍스트 (3)
    • 데이터베이스 (5)
      • Redis (1)
      • Querydsl (2)
      • Sql (1)
      • Encoding (1)
    • 개발 공부 (17)
      • 함수형 프로그래밍 (1)
      • MSA (1)
      • 블록 체인 (3)
      • 오픈소스 와 플랫폼 (2)
      • 상속 : 서브클래싱, 서브타이핑 (1)
      • SOLID 원칙 (2)
      • 트랜잭션 (0)
    • 트러블 슈팅 (7)
    • IT 서적 (27)
      • 이펙티브 자바 (1)
      • 객체 지향의 사실과 오해 (4)
      • 오브젝트 (7)
      • 모던 자바 인 액션 (10)
      • 멋진 신세계 (1)
      • 블록체인 무엇인가 (1)
      • 이기적 유전자 (1)
      • 한국의 IT 산업의 멸망 (1)
      • 가상 면접 사례로배우는 대규모 시스템 설계 기초 (0)
    • 소소한 이야기 (10)

인기 글

블로그 메뉴

  • 블로그 관리자
  • 글쓰기
hELLO · Designed By 정상우.
수달하나
JPQL 페치 조인 (fetch join) - ②
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.