Persistence Context

영속성 컨텍스트는 조회 객체와 DB 반영 시점을 분리한다

JPA는 같은 트랜잭션 안 엔티티 동일성을 보장하고, 변경 감지는 flush 때 SQL로 바뀐다.

1Find1차 캐시에 없으면 SELECT 후 엔티티를 관리한다.
2Identity같은 키를 다시 조회하면 같은 객체를 돌려준다.
3Dirty Check필드 변경을 스냅샷과 비교한다.
4Flushcommit 전 또는 쿼리 전 UPDATE를 보낸다.
5CommitDB 트랜잭션이 확정된다.
벌크 UPDATE 뒤에는 1차 캐시가 낡아질 수 있다.