Fetch

Fetch 모드란? 연관 관계에 있는 엔티티의 정보를 어떻게 가져올 것인가에 대한 설정이다. @OneToMany 등에 fetch 옵션으로 모드를 설정할 수 있다.

지금 가져올 것이다 -> Eager
나중에 가져올 것이다 -> Lazy

기본적으로 OneToMany관계는 Lazy이다. 따라서 아래의 Post 엔티티를 예시로 보면, Post에 대한 정보를 가져올 때, comments에 대한 정보는 가져오지 않는다.

OneToMany이기 때문에 Post 정보를 가져온다고, comments가 몇 개인지도 모르는 데 한 번에 다 가져와 버리면 너무 비효율적이기 때문이다.

반대로 ManyToOne 인 경우는 Eager모드이다. 어차피 상대편 데이터가 하나이기 때문이다.

0개의 댓글