8.3 지연 로딩 활용.
JPA 기본 페치 전략
연관된 엔티티가 하나면 즉시 로딩
컬렉션이면 지연 로딩을 사용.
◉ fetch 속성의 기본 설정값
어노테이션 | 로딩 기본 전략 |
---|---|
@ManyToOne, @OneToOne | 즉시 로딩(FetchType.EAGER) |
@OneToMany, @ManyToMany | 지연 로딩(FetchType.LAZY |
추천하는 방법은 모든 연관관계에 지연 로딩을 사용하는 것.
개발 완료 단계에 왔을 때, 실제 사용 상황을 보면서 최적화.
컬렉션에 FetchType.EAGER 사용시 주의점.
- 컬렉션을 하나 이상 즉시 로딩하는 것은 권장하지 않는다.
- 컬렉션 즉시 로딩은 항상 외부 조인을 사용한다.