클래스
EntityManager
인터페이스
객체에 대한 영속성 관리 작업을 진행
Query 인스턴스를 생성하는 팩터리 처럼 작동
EntityManagerFactory
EntityManager 클래스의 팩토리 클래스
EntityManager 클래스의 인스턴스를 생성 및 관리
사용시에 딱 한번만 생성하고 공유해서 사용
EntityManager를 찍어내는 공장이므로 비용이 상당이 큼
EntityTransaction
EntityManager와 일대일 관계
각각의 EntityManager들의 작업은 EntityTransaction 클래스에 의해서 유지
Persistence
Entity
영속 객체
실제 데이터베이스에 기록될 객체
Query
인터페이스로서 각각의 JPA 벤더에 의해 구현
각 기준에 충족하는 관계형 객체를 얻음
Persistence가 EntityManagerFactory 인스턴스를 생성한다. 생성된 EntityManagerFactory가 EntityManager를 여러개 생성할 수 있다. 이 때, EntityManagerFactory와 EntityManager는 일대다 관계이다. 각각의 EntityManager는 EntityTransaction 인스턴스가 작동하는데 이때, EntityManager와 EntityTransaction은 일대일 관계이다. EntityManager는 여러개의 Query 객체를 관리하기 때문에 일대다관계이다. EntityManager는 여러개의 Entity 객체를 관리한다. 따라서 EntityManager와 Entity 객체는 일대다 관계이다.