스프링
[Spring boot JPA] @Query 수정, 삭제
우주로 날아간 사람
2023. 3. 15. 21:16
프로젝트에서 수정과 삭제 구현 중 쿼리를 옳바르게 작성했는데 오류가 떴었다.
찾아보니 수정과 삭제를 할 때는 @Transactional과 @Modifying를 붙여야 한다.
@Transactional
@Modifying
@Query("delete from Likes l where l.poll.id=:pollId and l.member.id=:memberId")
void deleteLike(@Param("pollId") Long pollId, @Param("memberId") Long memberId);
근데 굳이 저렇게 쿼리를 작성하지 않아도 된다는 것을 중간에 깨달았다.
이런 식으로 작성해도 되는 것이었다.
JPA는 생각보다도 훨씬 편리한 기능을 "많이" 제공하고 있음을 깨달았다.
@Transactional
@Modifying
void deleteByPollAndMember();
하지만 쿼리짜는 실력을 늘리기 위해서 슬프지만 저 편리한 기능을 사용하진 않았다...