JAVA
@ManyToOne 과 fetch타입 LAZY
포금이
2024. 6. 15. 10:21
fetch는 엔터티를 조회할 때 연관된 엔터티를 어떻게 조회할지 결정한다
FetchType엔 EAGER, LAZY 두가지가 있고 각 차이점은,
1. FetchType.LAZY
- 지연 로딩을 의미
- 연관된 엔터티를 실제로 사용할 때까지 로딩하지 않음
- 즉, 해당 엔터티를 접근할 때 데이터베이스에서 조회함
- 성능 최적화에 유리하며 불필요한 데이터 로딩 방지
2. FetchType.EAGER
- 즉시 로딩을 의미
- 엔터티를 조회할 때 연관된 엔터티도 함께 조회
- 필요하지 않은 데이터를 미리 로딩할 수 있어 메모리와 성능 낭비 초대할 수 있다