본문 바로가기

Development/Spring Framework

더티 체킹(Dirty Checking)이란

내용 출처

jojoldu.tistory.com/415

 

더티 체킹 (Dirty Checking)이란?

Spring Data Jpa와 같은 ORM 구현체를 사용하다보면 더티 체킹이란 단어를 종종 듣게 됩니다. 더티 체킹이란 단어를 처음 듣는분들을 몇번 만나게 되어 이번 시간엔 더티 체킹이 무엇인지 알아보겠습

jojoldu.tistory.com

간단 요약

  • 상태 변경 검사

  • 쿼리의 update를 진행할 때, DB와 통신하지 않고도 업데이트 되는 것을 볼 수 있음

  • 가능한 이유는 JPA에서 트랜잭션이 끝나는 시점에 변화가 있는 모든 엔티티 객체를 DB에 자동 반영하기 때문

  • 변화의 기준은 최초의 조회상태이며, 이와 비교해 변화가 있을 경우 update 쿼리 진행

  • 영속성 컨텍스트가 관리하는 Entity만 반영됨