@Query + @Modifying

이진규·2023년 3월 29일
0

SPRING 지식 공유

목록 보기
10/17

@Query + @Modifying

@Modifying을 말씀드리기 전에 먼저 @Modifying이 적용되는 @Query에 대해 알고 넘어갑시다.

Spring Data JPA에서는 기본적으로 JpaRepository를 통해서 제공되는 findById와 같은 메서드도 있고, 메서드 네이밍만을 통해서 쿼리를 실행할 수 있도록 기능을 제공해주고 있습니다.

하지만, 이 두가지 방법으로도 만들 수 없는 쿼리가 필요하다면, 쿼리를 직접 작성해야 합니다. 그 때 커스텀 Reopository의 메서드에 붙이는 annotation이 @Query입니다.

@Modifying은 @Query Annotation으로 작성 된 변경, 삭제 쿼리 메서드를 사용할 때 필요합니다. 즉, 조회 쿼리를 제외하고, 데이터에 변경이 일어나는 INSERT, UPDATE, DELETE, DDL 에서 사용합니다. 주로 벌크 연산 시에 사용됩니다.

  • PostRepository
	// 게시판 조회시 조회수 증가
	@Modifying
	@Query("update Post post set post.viewCnt = post.viewCnt+1 where post.id = :id")
	void updateViewCnt(Long id);

참고자료

@Modifying과 관련한 자료
@Modifying과 관련한 자료2

profile
항상 궁금해하고 공부하고 기록하자.

0개의 댓글