JPA 일대다 조인 데이터 부풀려지기 방지하기
2022.06.27
들어가기에 앞서 JPA에서 1:N관계의 두 엔티티를 조인해서 조회하면 데이터가 부풀려지는 현상을 볼 수 있다. 예를 들어 게시글 1개와 이미지 3개를 서로 다른 엔티티에 저장한 뒤 조인해서 조회하면 같은 게시글이 3개가 조회된다. 이것은 1:N관게에서 나타나는 문제이다. 데이터가 부풀려지는 이유 SQL을 사용해보면 1:N상황에서 inner 조인하면 매칭되는 모든 데이터가 나타나게 된다. 게시글 테이블에 "title" 이라는 속성이 있다. 이미지 테이블에 "name"과 게시글 테이블에 대한 외래키가 있다. 이 테이블에는 게시글 테이블에 저장한 2개의 이미지가 저장되어있다. 즉, 게시글 테이블의 외래키가 2개가 있다. 이 상황에서 두 테이블을 조인해서 조회하면 title name board_id 게시글 제목..