JPA

Growing_HJ·2024년 7월 25일

JPA

목록 보기
1/15

Entity Manager Factory

  • 엔터티 매니저를 생성하는 공장.
    Entity Manager Factory 는 하나만 생성하여 애플리케이션 전체에서 공유하도록 설계되어 있다.
  • 여러 스레드가 동시에 접근해도 안전하므로, 다른 스레드 간의 공유가 가능하다.
  • 엔터티 매니저 팩토리는 애플리케이션 전체에서 딱 한번만 생성하고 공유해서 사용해야 한다.
// 엔터티 매니저 팩토리 생성하기
EntityManagerFactory emf = 
					Persistence.createEntityManagerFactory("영속성 유닛 이름");

Entity Manager

  • 여러 스레드가 동시에 접근하면 동시성 문제가 발생하므로 스레드간의 공유는 절대 금지.
  • 엔터티 매니저를 사용하면 엔터티를 데이터베이스에 등록/수정/삭제/조회가 가능하다.
  • 엔터티 매니저는 내부에 데이터 소스 (데이터베이스 커넥션) 를 유지하면서 데이터베이스와 통신한다. 따라서 애플리케이션 개발자는 엔터티 매니저를 가상의 데이터 베이스라고 생각할 수 있음.
  • 엔터티 매니저는 데이터베이스 커넥션과 밀접한 관계가 있으므로 스레드간의 공유나 재사용은 금지된다.
EntityManager em = emf.createEntityManager();

Connection Pool

  • 미리 접속된 connection 을 생성해서 보관한 후, 요청을 받으면 connection 하나를 반환한다.
    따라서 바로 연결된 것으로 사용하면 된다
    즉 접속을 위한 전처리가 필요없음.

0개의 댓글