배경 Spring 어플리케이션을 개발하면서 JPA의 동작 방식에 대해 이해가 되지 않는 부분이 많았다. @Transactional은 언제 걸어야 하는지, 코드의 흐름은 이상이 없는데 원하는 update가 이루어지지 않는 이유, Repository의 함수들 중 왜 특정
이번 포스팅에서는 지난번 영속성 컨텍스트에 이어서 Entity 사이의 연관관계를 어떻게 구현하는지, 그리고 연관관계를 가지는 Entity 사이의 영속성 전이에 대해서 살펴보도록 하자. 데이터베이스의 테이블에는 Foreign key(FK) 를 활용해서 두 테이블 사이에
배경 지난 글에서 Entity 사이의 연관관계 매핑에 대해서 살펴보았다. 이번에는 연관된 Entity 들의 영속성을 다룰 수 있는 옵션 중 하나인 영속성 전이에 대해서 살펴보자. 아래와 같은 상황을 생각해보자. 게시글과 댓글을 1:N 관계이며, 게시글 쪽에 @One
JPA를 사용해서 연관관계를 맺게되면 필연적으로 겪게되는 문제가 있다. 바로 오늘 이야기할 N+1 쿼리 문제이다. 연관관계에 있는 데이터를 조회할 때 예상했던 것 보다 더 많은 수의 쿼리가 발생하는 문제로 예상치 못한 성능 이슈를 가져오기 때문에 반드시 문제를 해결해야