TIL

[TIL][SQL] @Modifying 어노테이션

2023. 11. 8. 12:58
목차
  1. ❓@Modifying 어노테이션이란?
  2. 💡if @Modifying을 사용하지 않는다면?

❓@Modifying 어노테이션이란?

@Modifying(clearAutomatically = true, flushAutomatically = true)
@Transactional
@Query("UPDATE Restaurant r SET r.averageRating = :averageRating WHERE r.id = :restaurantId")
void updateAverageRating(@Param("restaurantId") Long restaurantId, @Param("averageRating") double averageRating);
  • 수정 쿼리를 수행하는 메서드에 붙인다.
  • JPA에서 SLECT 쿼리가 아닌 UPDATE, DELETE, INSERT 등과 같은 수정 작업을 수행하는 메서드에 대한 표시
  • clearAutomatically : 수정 쿼리 실행 후 영속성 컨텍스트를 자동으로 초기화하여 변경된 엔티티에 대한 변경사항을 DB에서 가져오도록 한다.
  • flushAutomatically : 쿼리 실행 전에 영속성 컨텍스트를 flush하여 변경 사항을 DB에 동기화한다.

 

💡if @Modifying을 사용하지 않는다면?

  • Spring Data JPA는 updateAverageRating 메서드를 조회 쿼리로 간주하고 트랜잭션을 관리하지 않을 것이다.
  • 따라서 업데이트가 발생할 때, 트랜잭션 관리 및 데이터베이스 변경 사항 플러싱을 수동으로 해줘야 한다.

 

저작자표시 (새창열림)

'TIL' 카테고리의 다른 글

[TIL][Spring] javax.xml.bind.DatatypeConverter 에러  (0) 2023.12.21
[TIL][SQL] 연관 데이터 없을 때 조회하기 (Join vs Left Join)  (0) 2023.11.08
JPA 에서 복합키 사용하기  (0) 2023.08.06
[TIL][ContentProject] h2-console 403 error  (0) 2023.07.27
[TIL][ContentProject] H2 DB 에서 User Table 사용하기  (0) 2023.07.19
  1. ❓@Modifying 어노테이션이란?
  2. 💡if @Modifying을 사용하지 않는다면?
'TIL' 카테고리의 다른 글
  • [TIL][Spring] javax.xml.bind.DatatypeConverter 에러
  • [TIL][SQL] 연관 데이터 없을 때 조회하기 (Join vs Left Join)
  • JPA 에서 복합키 사용하기
  • [TIL][ContentProject] h2-console 403 error
dbssk
dbssk
K.Back-enddbssk 님의 블로그입니다.
dbssk
K.Back-end
dbssk
  • 분류 전체보기 (220)
    • 끄적 (0)
    • TIL (8)
      • Trouble Shooting (1)
    • Programmers (94)
      • Lv.0 (29)
      • Lv.1 (40)
      • Lv.2 (25)
    • 백준 (15)
    • 구름 (0)
    • Computer Science (79)
      • 컴퓨터 구조 (3)
      • Operating System (18)
      • 알고리즘 (9)
      • 자료구조 (11)
      • Database (10)
      • Network (8)
      • Web (12)
      • Design Pattern (8)
    • Spring (2)
    • Languages (13)
      • Java (13)
    • 북 스터디 (9)
      • 스프링 부트 핵심 가이드 (9)
      • 자바 코딩 인터뷰 완벽 가이드 (0)
    • 프론트엔드 (0)

인기 글

최근 글

태그

  • 개발자취준
  • 프로그래머스
  • 자료구조
  • 백엔드공부
  • stack
  • 백준
  • hash
  • 백엔드스쿨
  • java
  • 개발자포트폴리오
  • 배열
  • 개발자취업
  • 코딩테스트
  • spring
  • LV.2
  • LV.1
  • 개발자이력서
  • Lv.0
  • 해시
  • 스택
hELLO · Designed By 정상우.
dbssk
[TIL][SQL] @Modifying 어노테이션
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.