JAVA

@ManyToOne 과 fetch타입 LAZY

포금이 2024. 6. 15. 10:21

fetch는 엔터티를 조회할 때 연관된 엔터티를 어떻게 조회할지 결정한다

 

FetchType엔 EAGER, LAZY 두가지가 있고 각 차이점은,

 

1. FetchType.LAZY

  •  지연 로딩을 의미
  •  연관된 엔터티를 실제로 사용할 때까지 로딩하지 않음
  •  즉, 해당 엔터티를 접근할 때 데이터베이스에서 조회함
  •  성능 최적화에 유리하며 불필요한 데이터 로딩 방지

 

2. FetchType.EAGER

  •  즉시 로딩을 의미
  •  엔터티를 조회할 때 연관된 엔터티도 함께 조회
  •  필요하지 않은 데이터를 미리 로딩할 수 있어 메모리와 성능 낭비 초대할 수 있다