트러블슈팅

효준·2024년 11월 14일

1. JPA Dirty Checking

JPA를 사용하여 CRUD 구현 중 update 기능을 구현하는 도중 발생하였다.

원인 추론

update를 하는 과정에서 Controller에서 Service에 존재하는 updateSchedule을 호출해 findId로 일정을 검색하는 작업과 검색된 일정을 수정하는 부분에서 @Transactional을 선언하지 않아서 한번에 이루어져야할 작업이 나누어 작업되었다.

이와 같이 잘 수정된것 같이 나오지만

DB에는 SQL이 반영되지 않았다.

해결 방안


Service에서 메서드 위에 @Transactional 어노테이션을 선언하였다.

결과 확인


다음과 같이 정상적으로 SQL이 적용되고 출력되는 것을 확인하였다.

profile
사진은 캣타워가 생겨 포효하는 고양이입니다.

0개의 댓글