디벨롭
로그인
디벨롭
로그인
JPA @Modifying
박상준
·
2024년 5월 27일
팔로우
0
0
JPA
목록 보기
2/2
언제 쓰나
INSERT
,
UPDATE
,
DELETE
쿼리를 실행하는 경우 사용한다
DB 의 상태를 변경하는 쿼리를 실행하는 경우 필요하다
트랜잭션이 필요하며, 트랜잭션이 없으면 예외가 발생한다
어떻게 동작되나
JPA 가 해당 쿼리릐 DB의 상태를 변경하는 쿼리임을 인식하게 한다
해당 어노테이션이 없으면 JPA 는 쿼리를 읽기 전용으로 간주한다
@Modifying
어노테이션이 있는 메서드는 트랜잭션 내에서
무조건
실행되어야 한다.
그렇지 않으면 예외가 발생
어노테이션 옵션
clearAutomatically
쿼리 실행 후 영속성 컨텐스트를 자동으로 비울지 여부를 결정한다
기본값은
false
flushAutomatically
쿼리 실행 전에 영속성 컨텍스트를 자동으로 플러시할지 지정한다
기본값은
false
옵션 사용여부
보통 사용하지 않는 옵션이다
트랜잭션내에서 관리하는 것이 일반적이다.
그리고 영속성 컨텍스트를 비우는 행위는 메모리 최적화를 수행하는 경우에 유용한데,
일반적으로 이걸 제어해야하는 경우에는 뭔가 프로그램 내의 로직상의 문제가 있는 경우가 대부분이다.
박상준
이전 블로그 : https://oth3410.tistory.com/
팔로우
이전 포스트
Spring-open-in-view 속성
0개의 댓글
댓글 작성