JPA 란 무엇인가에 대해, JPA 를 사용할 때 맞닥뜨릴 수 있는 N+1 문제에 대한 정리가 필요하여 글을 포스팅 한다. 1. JPA (Java Persistence API) - 개념 - Java ORM 기술에 대한 표준 명세로, Java 의 객체와 DB 를 매핑하는 인터페이스 역할 수행 2. N+1 문제 - 개념 - 요청이 1개의 쿼리로 처리 되기를 기대했는데, N개의 추가 쿼리가 발생하는 현상 - 발생 원인 - JPQL을 생성하여 실행할 때, 연관 관계 데이터를 무시하고 해당 Entity 기준으로 쿼리를 조회하기 때문 - 해결 방법 - 1) Fetch Join - 연관된 Entity 또는 Collection 을 한 번에 같이 조회하는 기능 - 연관된 Entity 까지 같이 영속성 컨텍스트에 올림 -..