본문 바로가기

JPA

3월 6일 JPA API 개발 고급 정리

엔티티를 조회

엔티티 그대로 client에 반환은 위험하다 , 꼭 DTO로 변환해서 반환

 

fetch 조인으로 쿼리 최적화

collection fetch join 사용시 페이징 사용불가

 

ToOne은 fetch Join으로 쿼리수 최적화

ToMany collection은 지연로팅을 유지해준다.

hibernate.default_batch_fetch_size나 @BatchSize로 최적화  엔티티의 경우 IN절을 사용

IN절에 id값을 한번에 넣어 가져온다.

 

DTO직접조회

컬렉션 조회 최적화

일대다 관계형 컬렉션은 IN을 사용해 최적화

플렛 데이터 최적화 JOIN 결과를 모두 조회후 애플리케이션에서 작업

 

권장순서

1.엔티티 조회 방식 우선 접근(최우선 , 문제 해결이 간단하다)

-페치 조인으로 쿼리수 최적화

-컬렉션 최적화

-페이징 필요 hibernate.default_batch_fetch_size나 @BatchSize

-페이징 필요없을 경우 fetch join 사용

 

2.엔티티 조회방식으로 해결이 안되면 DTO 사용

3.Dto 조회방식으로 해결이 안되면 Native Sql 사용

'JPA' 카테고리의 다른 글

default_batch_fetch_size 이해  (0) 2023.03.24
3월 7일 JPA OSIV 와 성능최적화  (0) 2023.03.07
3월 6일 JPA 주문조회 V6  (0) 2023.03.06
3월 6일 JPA 주문조회 V5  (0) 2023.03.06
3월 3일 JPA 주문조회 v4  (0) 2023.03.03