PERSISTENCE CONTEXT

영속성 컨텍스트는 1차 캐시와 변경 감지의 작업 공간이다

JPA는 엔티티를 바로 SQL로 바꾸기보다 영속성 컨텍스트 안에서 추적하다가 flush 시점에 DB와 동기화한다.

1st cacheDirty checkFlush
find()DB 조회 후 엔티티를 1차 캐시에 등록
change필드 변경을 스냅샷과 비교해 추적
flushcommit 전 또는 쿼리 전 DB와 동기화
commitDB 트랜잭션에 실제 확정

주의: 벌크 UPDATE/DELETE는 영속성 컨텍스트를 우회하므로 실행 전 flush, 실행 후 clear 전략이 필요하다.