엔티티를 조회
엔티티 그대로 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 |