JPA와 영속성 컨텍스트가 무엇인가

JPA 영속성 컨텍스트 정리

N+1이 왜 발생하는가

대표 발생 JPA 메서드: findAll

발생 상황. 이유: 1 + N 개념으로 생각.

한 개의 엔티티를 조회하는 쿼리 1개와 해당 각 엔티티마다 자식 엔티티를 조회하는 추가 쿼리 N개가 발생하게 된다. 즉, 반환 엔티티를 우선 전부 다 가져오는 쿼리를 1차 실행 추가적으로 엔티티에서 특정 매핑(JOIN)된 객체를 조회하는 경우, select문을 한 번 더 사용한다.

해당 프로젝트에서 N+1 문제가 어디서 발생했고 어떻게 고쳤냐

Ticket 도메인

Fetch Join을 활용한 N+1 해결 - Seat 도메인