![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNNclk%2Fbtr6Gq0B87H%2FzvS7o5mtsmrQjvSbWTpuY0%2Fimg.png)
BackEnd/Spring
[트러블슈팅] [JPA] 변경 감지(Dirty Checking)가 작동하지 않는 경우 해결법 (feat. @Transactional)
JPA Dirty Checking jpa는 변경감지(dirty checking) 라는 기능을 가지고 있다. 이는 영속성 컨텍스트에 올라가있는 엔티티에 대해, 값을 수정하였을 때 해당 트랜잭션이 끝날 때, 변경된 값을 확인하여 DB에 변경 사항을 자동으로 반영해주는 아주 간편한 기능이다. 본인또한 이 기능을 사용하여 Entity의 값을 update 해주려고 하였지만, 왜인지 작동하지 않았다. 그리고 운좋게도 구글링을 통해 그 이유를 알 수 있었다. 문제 상황 위와 같은 데이터의 값을 변경감지를 통해 변경하도록 구현한 코드에서 변경감지가 작동하지 않았던 상황이다. 최리더라는 값을 김리더로 변경하여 update에 보내주면 함께 보낸 PK로 Entity를 조회하고, 조회한 Entity의 orgLeaderName..