SEB_BE_43 / 23.02.27 회고

rse·2023년 2월 27일
0

코드스테이츠_BE_43

목록 보기
43/65

오늘

  • Spring Data JPA

Spring Data JPA

Spring Data JPA Repository

JDBC와 다른점

CrudRepository를 상속하지 않고, JpaRepository를 상속한다.


fetch 속성
Eager(OTO, MTO 같은 경우 기본으로 eager로 되어있음) 즉시로딩

  • 데이터를 즉시 가져온다.
  • 연관관계로 매핑된 엔티티의 데이터까지 즉시 가져온다.
    한마디로 모두 한번에 가져옴.
    Lazy(OTM, MTM) 기본 지연로딩
  • 데이터를 필요한 시점에.

양방향 매핑 무조건 안해도 됨.
ManyToOne 을 먼저 한 다음에 필요하면 양방향으로.

Cascade (영속성 전이)

JPA N+1 문제 해결책
1. Fetch Join 을 사용해서 쿼리 한번에 가져오기.

  1. Hibernate @BatchSize 애너테이션 이용
  • 데이터를 size 만큼 나누어서 가져온다.
  1. Hibernate @Fetch(SUBSELECT) 애너테이션
  • 서브 쿼리를 이용해서 줄임.
profile
기록을 합시다

0개의 댓글