JPA N+1 문제
@Entity
public class Item {
@Id
private Long id;
@ManyToOne(fetch = FetchType.EAGER) // 기본값
private Order order;
}
✅ EAGER인 경우 실행되는 쿼리
SELECT * FROM item WHERE id = 1;SELECT * FROM orders WHERE id = ?; -- item.order_id 에 해당하는 값2. N+1 문제
List<Item> items = itemRepository.findAll(); // Item 100개✅ 1. @OneToMany 관계란?
@OneToMany 관계란?✅ 2. @OneToMany는 기본이 LAZY, 그 이유는?
@OneToMany는 기본이 LAZY, 그 이유는?💥 EAGER로 하면?
EAGER로 하면?문제점:
✅ 3. LAZY 동작 방식
✅ 4. Lazy 로딩의 문제점
❗ LazyInitializationException
✅ 5. 해결 방법
① Fetch Join
② DTO 직접 조회
③ Hibernate 배치 사이즈 설정
Last updated