[JPA] 지연 로딩과 즉시 로딩 .. 무엇을 사용해야하나

  • 연관관계의 복잡성
  • 데이터 로딩 시 성능을 고려하여
  1. 일대다(@OnetoMany) 과 다대다(@ManyToMany) 연관관계
    1. 지연 로딩
  1. 일대일(@OneToOne) , 다대일(@ManyToOne)
    1. 즉시 로딩
  • 을 기본 페치 전략으로 설정

일대다 다대다의 경우

  1. 컬렉션의 데이터의 양이 많을 가능성이 높고
  1. 이를 한 번에 로딩하는 것은 성능에 부정적인 영향

다대일 일대일의 경우

  1. 해당 엔티티가 로딩될 때 연관된 엔티티로 함께 로딩
  1. 연관된 데이터의 양이 많지 않을 것으로 예상

실무에서는 왠만하면 지연로딩으로 설정해놓고,

어플이 거의 완성 단계에 접어들었을때 프로파일링, 성능 테스트를 통해 필요한 부분만 즉시 로딩을 적용한다.


Uploaded by N2T

'자바 > JPA' 카테고리의 다른 글

[JPA] 지연 로딩과 프록시의 활용  (0) 2023.11.04
[JPA] 지연 로딩과 프록시의 활용  (0) 2023.11.04
JPA 고급 매핑  (0) 2023.11.04
[4단원] DDL 생성 기능  (0) 2023.11.04
[6단원] 주 테이블에 외래키  (0) 2023.11.04