JPA는 테이블에 대응하는 엔티티 객체 정보를 영속성 컨텍스트에서 별도로 관리

1차 캐시: Map<EntityID, Entity> 형태로 엔티티를 메모리에 캐싱해 보관
쓰기 지연 저장소: 영속성 컨텍스트가 실행할 쿼리문을 모아두는 곳, flush() 호출 전까지 실행 지연
영속성 컨텍스트 전체가 하나의 트랜잭션에 종속됨
즉 트랜잭션이 종료되면 1차 캐시와 쓰기 지연 저장소는 초기화됨
begin() → 트랜잭션 시작persist() → 엔티티를 영속성 컨텍스트에 저장flush() → 영속성 컨텍스트와 DB 동기화
commit() → 트랜잭션 커밋 (자동으로 flush() 호출)