JPA [기본] 페치조인의 특징과 한계

신재원·2023년 2월 3일
0

JPA 기본

목록 보기
29/31

📌 페치 조인의 특징과 한계

  • 페치 조인 대상에는 별칭을 줄 수 없다.
    • 하이버네이트에는 가능하지만, 가급적 사용 X
  • 둘 이상의 컬렉션은 페치 조인 할수 없다.
    • 예시 ) "일대다" 의 "다" 이다. (컬렉션 + 컬렉션)
  • 컬렉션을 페치 조인하면 페이징 API (setFirstResult, setMaxResult) 를 사용할 수없다.
    • ( X To 다) 관계는 데이터가 뻥튀기됨
    • 일대일, 다대일 같은 단일 값 연관 필드들은 페치 조인해도 페이징이 가능하다.
    • 하이버네이트는 경고 로그를 남기고 메모리에서 페이징한다 (매우 위험)
  • ✔ 해결 방법
    : batch 사이즈를 1000이하의 숫자로 지정해 쿼리 성능을 해결할수있다.

페치 조인 정리

  • 모든 것을 페치 조인으로 해결할 수는 없다.
  • 페치 조인은 객체 그래프를 유지할때 사용하면 효과적이다.

0개의 댓글