n+1

    [API 개발 고급] 지연 로딩과 조회 성능 최적화

    [API 개발 고급] 지연 로딩과 조회 성능 최적화

    “김영한 강사님의 JPA 활용편 2 - API 개발과 성능 최적화"를 듣고 간단하게 정리하기” 양방향 연관관계에서 직접 데이터를 반환하는 경우 서로가 서로를 참조하기 때문에 무한루프가 발생한다. Order -> Member -> Order -> Member ... 무한루프발생! 양방향 연관관계가 매핑된 엔티티 한 쪽에는 @JsonIgnore를 사용한다. 지연로딩으로 설정된 값은 DB에서 가져오지 않고 가짜 Proxy 객체를 생성하고 실제 객체에 접근하고자 할때 그 때 프록시가 쿼리를 날려서 DB에서 값을 가져온다. Hibernate5Module와 @JsonIgnore를 이용해 엔티티를 넘긴 경우 무한루프 없이 데이터를 조회해 오는 것이 가능하다. 지연 로딩을 피하기 위해서 즉시 로딩 (EAGER)로 변경..