Persistence Context
JPA가 엔티티 객체들을 모아두는 공간
영속성 컨텍스트를 쓰는 이유
- 캐싱(1차 캐시) : 데이터를 조회하는 기능을 처리할 때, DB에서 바로 조회하는 것이 아니라 영속성 컨텍스트에서 먼저 조회한다
- 영속된 엔티티의 동일성 보장 : 영속되어 있는 동일한 id를 갖는 엔티티를 여러 번 조회하더라도 동일한 주소값을 갖는다
- 쓰기 지연 : 트랜잭션을 commit하는 순간에 영속성 컨텍스트의 엔티티에 대한 쿼리를 DB에 실해한다
- 변경 감지 : 영속된 엔티티를 수정하면 트랜잭션이 commit 되는 순간 변경 쿼리가 DB에 실행된다