JPA Flow
- Persistence : EntityManagerFactory Instance 를 생성하는 정적(static) 메소드를 가지고 있다.
- EntityManagerFactory : EntityManager 클래스의 팩토리 클래스
- EntityManager 인스턴스를 생성하고 관리할 수 있다.
- 하나만 생성하여 애플리케이션 전체에서 공유한다.
- EntityManager : 인터페이스이며, 객체에 대한 영속성 관리 작업을 한다.
- Thread 간에 공유 X (하나의 트랜잭션 안에서 사용되고 버려진다)

- 설정 정보 조회 : Persistence Class가 설정 정보 조회한다.
- 생성 : EntityManagerFactory를 생성한다.
- 생성 : 요청(Request)이 들어올 떄마다 EntityManager를 생성하고, 사용 후 버린다.
Persistence Context

- 엔티티를 영구 저장하는 환경(논리적인 개념)
- 영속성 컨텍스트 안에는 1차 캐시가 존재하며 (id, instance)의 맵 형태이다.
- 엔티티 매니저를 통해서 영속성 컨텍스트에 접근
- 데이터베이스 한 트랜잭션 안에서만 존재, 트랜잭션이 종료되면 삭제된다.
- 트랜잭션 단위의 짧은 메모리 공간이다.
엔티티의 생명 주기

- 비영속(new/transient) : 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태
- 순수한 객체 상태
- 엔티티 객체를 생성 했으나, 저장하지 않은 상태
- Member member = new Member();