
[Spring Data JPA] Update 쿼리 사용해서 Bulk로 수정하기.
2022. 9. 21. 17:48
스프링/JPA
변경감지 vs Bulk업데이트 JPA에는 변경감지 기능이 있다. 영속성 컨텍스트에서 불러온 엔티티의 값을 Setter 등의 메서드로 수정해주면 그 값이 영속성 컨텍스트에 반영되는 것을 말한다. 그런데 만약 엔티티들에 일괄적으로 동일한 값을 추가하거나 삭제하는 등의 수정이 필요할 때, 변경감지로 인한 값 수정은 최선이 아닐 수 있다. 해당 엔티티들을 개별적으로 전부 영속성 컨텍스트에서 꺼내와서 하나씩 변경된 값을 반영해야 하기 때문이다. 그렇기에 우리는 직접 쿼리를 작성해서 한번에 값을 수정해볼 것이다. public interface MemberRepository extends JpaRepository { @Modifying(clearAutomatically = true) @Query("update Mem..