벌크성 수정 쿼리

Shaun·2021년 9월 1일
1

JPA

목록 보기
10/31
post-thumbnail

  • 말그대로 한건한건이 아닌 여러건의 수정을 의미한다.

  • 벌크 연산은 영속성 컨텍스트를 무시하고 DB에 바로 접근한다.( 영속성 컨텍스트와 DB간의 데이터 차이 발생!!)

  • 벌크 연산후 영속성 컨텍스트 날려줘야함 ( Flusch() , -> clear() )

  • @Modifying(clearAutomatically = true) 로 자동으로 영속성 컨텍스트를 비워주자!

  • 수정, 삭제 쿼리는 @Modifying 써줘야 함! 안그러면 예외 발생

  • JPQL 은 쿼리 시작전 FLUSH 자동실행. 위에 코드는 아직 영속성 컨텍스트에 save 한 목록들이 남아 있으므로 clear 를 해야한다.

  • @Modifying@Query 어노테이션(JPQL Query, Native Query)을 통해 작성된 INSERT, UPDATE, DELETE (SELECT 제외) 쿼리에서 사용되는 어노테이션이다.
  • 더티체킹은 JPA에서는 트랜잭션이 끝나는 시점에 변화가 있는 모든 엔티티 객체를 데이터 베이스에 자동으로 반영해준다.
profile
호주쉐프에서 개발자까지..

0개의 댓글