
[ Spring Boot ] N:1 (다대일) 연관관계 part2
·
Spring Boot
@ManyToOne 과 Eager/Lazy Loading@ManyToOne을 사용시 FK쪽의 엔티티를 가져올때 PK쪽의 엔티티도 같이 가져온다.실제로 쿼리를 실행하면, 내부적으로 left outer join처리가 되어 데이터를 가져온다.하지만 매번 이렇게 여러 테이블을 조인하여 가져온다면 효율이 떨어질 것이다. fetch는 Lazy loading을 권장한다.위와 같이 연관관계를 가진 모든 엔티티를 같이 로딩하는 것을 'Eager loading'이라고 한다.(즉시 로딩이라고도 한다.)즉시 로딩은 성능 저하를 피할 수 없는데, JPA에서는 연관관계 데이터를 어떻게 가져올 것인가 를 fetch(패치) 라고 한다. 그리고, 즉시 로딩의 반대 개념을 'Lazy loading'(지연 로딩)이라고 한다.Board.j..