PERSISTENCE CONTEXT

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

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

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

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