관리 메뉴

제뉴어리의 모든것

Jpa 사용시 Entity간에 연관관계에 따른 Fetch의 기본값 본문

Spring Boot/JPA

Jpa 사용시 Entity간에 연관관계에 따른 Fetch의 기본값

제뉴어리맨 2022. 10. 13. 00:44

OneToOne : FetchType.EAGER 가 기본값

ManyToOne : FetchType.EAGER 가 기본값

OneToMany : FetchType.LAZY 가 기본값

ManyToMany : FetchType.LAZY 가 기본값

 

가만히 보면 합리적인 기본값이다.

 

OneToMany, ManyToMany 는

상대 엔티티가 무조건 N인 관계이다.

나는 One 또는 Many 이지만 (To를 기준으로 앞에쪽이 본인의 Entity를 의미하기 때문에)

상대 엔티티는 무조건 N인 Many여서 Fetch시에 무조건 많은 데이터를 가지고 온다.

그러므로 지연로딩(Lazy)이고

 

OneToOne, ManyToOne은 상대 엔티티가 무조건 One이기엔 Fetch시에 가지고 와야 하는 데이터가 고작 한개이다.

그러므로 기본값이 EAGER여도 큰 부담이 없다.

 

 

 

 

 

ㅏㅏ