반응형
EntityManagerFactory (엔티티매니저팩토리)
일반적으로 데이터베이스를 하나만 사용하는 애플리케이션은 EntityManagerFactory를 하나만 생성한다.
META/INF/persistence.xml 에 설정한 정보를 기반으로 다음과 같은 코드로 생성할 수 있다.
EntityManagerFactory emf = Persistence.createEntityManagerFactory(설정한이름);
EntityManagerFactory는 EntityManager를 생성하는 Factory클래스로 최초 생성 시 커넥션풀 생성을 포함한 여러 작업들을 수행하기때문에 생성비용이 비싸고, 때문에 애플리케이션 전반적으로 하나의 인스턴스를 공유하도록 설계되어있다.
EntityManager (엔티티매니저)
엔티티를 저장 / 수정 / 삭제 / 조회 하는 등 엔티티 관련된 모든 일을 처리할 때 직접적으로 사용되는 클래스이다.
JPA 를 사용하여 개발할 땐 바로 이 EntityManager를 데이터베이스라고 생각하고 처리하면 된다.
EntityManager는 EntityManagerFactory를 통해서 다음과 같은 코르로 생성할 수 있다.
EntityManager em = emf.createEntityManager();
EntityManager는 DB 연결이 필요한 시점에 커넥션풀에서 커넥션을 취득하는데, 이 때문에 스레드간 절대 공유되지 않도록 개발 시 유의해야한다.
반응형
'Back-End > JPA' 카테고리의 다른 글
영속성 컨텍스트 (Persistence Context) 란 (2) (0) | 2018.11.25 |
---|---|
영속성 컨텍스트 (Persistence Context) 란 (1) (0) | 2018.11.25 |
JPA 기본적인 CRUD 해보기 (0) | 2018.10.03 |
기본적인 JPA 설정 방법 (0) | 2018.10.03 |
JPA / ORM 이란 (0) | 2018.10.03 |