김영한님이 지음, [자바 ORM 표준 JPA 프로그래밍] 책을 읽고 정리한 필기입니다.📢
엔티티 매니저 팩토리 & 엔티티 매니저
엔티티 매니저 팩토리와 엔티티 매니저의 차이점
-
엔티티 매니저 팩토리
- 생성 비용이 큼
- 여러 스레드 동시 접근에 안전
-
엔티티 매니저
- 생성 비용 거의 없음
- 여러 스레드 동시 접근 시 동시성 문제 발생, 스레드간 공유 절대 금지
일반적인 웹 어플리케이션의 구조 EntityManagerFactory
에서 다수의 엔티티 매니저를 생성- 엔티티 매니저는 데이터베이스 연결이 꼭 필요한 시점까지 커넥션을 얻지 않음(EntityManager1)
- 보통 트랜잭션을 시작할 때 커넥션을 획득(EntityManager2)
- JPA 구현체들은
EntityManagerFactory
를 생성할 때 커넥션품도 만듦(J2SE환경)- JPA를 J2EE환경(스프링 프레임워크 포함)에서 사용하면 해당 컨테이너가 제공하는 데이터소스를 사용
댓글남기기