[JPA] 성능 최적화를 위한 연관관계 매핑 조회 전략
·
스프링/JPA
xToOne 단건 조회 최적화지연 로딩을 피하기 위해서 즉시로딩으로 설정할 경우 아예 성능 최적화의 여지조차 남지 않게 된다.왜냐하면 연관관계로 매핑되어있는 경우 원치 않는 데이터 또한 즉시 조회하기 때문에 N+1 문제가 발생할 확률이 높기 때문이다. 즉시 로딩으로 설정할 경우 성능 튜닝이 매우 어려워 진다. 항상 지연 로딩을 기본으로 하고, 성능 최적화가 필요한 경우에는 FETCH JOIN을 사용하면 된다. 결론xToOne에서 조회 쿼리를 진행할 경우 그냥 컨트롤러 레이어에서 단일 엔티티를 조회 후 DTO로 변환하는 방법을 선택한다.그런데 만약 단일로 끌고 오는 엔티티가 다른 엔티티와 연관관계로 매핑되어있는 경우, FETCH JOIN으로 끌고온다. 그래도 성능 최적화가 되지 않는다면 New Operat..