JPA

즉시로딩 vs 지연로딩

boudle 2024. 8. 26. 22:53

JPA에서는 데이터를 조회할 때 즉시 로딩(EAGER)과 지연 로딩(LAZY) 두 가지 방식이 있습니다.

 

지연로딩(Lazy) 필요한 시점에 연관된 데이터를 불러오는 것( 연관된 엔티티를 사용할 때까지 로딩을 지연하는 방식)

지연 로딩을 사용함으로써 연관 엔티티의 데이터를 사용할 필요가 없는 경우, 쿼리 수행과 시간을 절약할 수 있습니다.

 

그럼 언제 지연로딩을 사용할까요?

 

1. 연관 엔티티를 많이 사용하지 않는 경우

2. 실제로 필요한 경우에만 연관 엔티티를 사용하는 경우

3. 대용량 데이터 처리

4. 성능 최적화가 필요한 경우

 

즉시로딩이란 데이터를 조회할 때, 연관된 모든 객체의 데이터까지 한 번에 불러오는 것이다.( 연관된 엔티티를 함께 로딩하는 방식)

기본 엔티티를 로딩할 때 연관된 엔티티도 함께 조회한다.

 

그럼 언제 즉시로딩을 사용할까요?

 

1.자주 사용되는 연관 엔티티일 때

2. 연관 엔티티의 크기가 작을 때

 

 

'JPA' 카테고리의 다른 글

[JPA] JPQL의 Fetch Join  (0) 2024.08.26