이 글은 김영한의 [실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발]을 수강하며 정리한 글입니다.
🟦 기본 환경: IDE: IntelliJ, Language: Java
FetchType.EAGER(즉시 로딩): 데이터 조회 시 연관 데이터까지 한 번에 조회
: @OneToMnay default
: @ManyToMnay default
@OneToOne FetchType을 선언하지 않을 경우, Default값인 EAGER로 선언되어 Delivery table 조회 시 연관관계에 있는 Order table까지 함께 조회
FetchType.LAZY(지연 로딩): 필요한 데이터만 선별적으로 조회
: @ManyToOne default
: @OneToOne default
@OneToOne FetchType을 LAZY로 선언할 경우, Delivery table을 조회할 때 Order table까지 조회되지 않음
⭐ EAGER를 사용할 경우, 의도치 않은 쿼리문 생성으로 인해 성능이 저하될 수 있으므로 지연로딩(LAZY)을 사용하는 것이 좋음
참고 자료
'Java > JPA' 카테고리의 다른 글
[SpringBoot_JPA_1] Injection (0) | 2023.05.25 |
---|---|
[SpringBoot_JPA_1] Cascade Type (0) | 2023.05.25 |
[SpringBoot_JPA_1] JPA Entity Default Constructor (0) | 2023.05.23 |
[SpringBoot_JPA_1] @JoinTable (0) | 2023.05.23 |
[SpringBoot_JPA_1] @Enumerated (0) | 2023.05.23 |