짱아의 개발 기록장

[JPA] Dirty Checking이란? 본문

반응형

코드에 별도로 데이터베이스에 update 하는 쿼리가 어디에도 없음에도 불구하고 

update쿼리가 실행되는 것을 말한다.

 

JPA에서는 트랜잭션이 끝나는 시점에 변화가 있는 모든 엔티티 객체를 데이터베이스에 자동으로 반영해준다.

이때, 변화가 있다는 것의 기준은 최초의 조회 상태이다.

 

JPA에서는 엔티티를 조회하면 해당 엔티티의 조회 상태를 그대로 스냅샷으로 만들어놓는다.

그리고 트랜잭션이 끝나는 지점에서 기존에 떠놓았던 스냅샷과 비교해서 다른 점이 있다면 Update Query를 데이터베이스로 전달한다.

 

++ 추후 추가예정

반응형
Comments