JPA 엔티티 매니저 팩토리와 엔티티 매니저

노영삼·2020년 9월 13일
0

JPA

목록 보기
2/3

일반적으로 데이터베이스를 하나만 사용하는 어플리케이션은 하나의 엔티티 매니저 팩토리를 생성해 사용한다. 엔티티 매니저 팩토리는 이름 그대로 엔티티 매니저를 만드는 공장인데, 공장을 만드는 비용은 상당히 크다. 따라서 어플리케이션 전체에서 하나의 엔티티 매니저 팩토리를 공유하도록 설계되어 있다.

엔티티 매니저 팩토리

  • 엔티티 매니저 팩토리는 애플리케이션 전체에서 딱 한번 생성하고 공유해서 사용한다.
  • 여러 스레드가 동시에 접근해도 안전하다.
  • EntityManagerFactory emf = Persistence.createEntityManagerFatory("name");
  • META-INF/persistence.xml에서 이름이 name인 영속성 유닛을 찾아 엔티티 매니저 팩토리를 생성한다.

엔티티 매니저

  • 여러 스테드가 동시에 접근하면 동시성 문제가 발생 따라서 스레드 간에 공유는 하면 안 된다.
  • 엔티티 매니저를 사용해 엔티티를 데이터베이스에 등록/수정/삭제/조회할 수 있다.
  • EntityManager em = emf.createEntityManager();
profile
개발자가 되고싶다.

0개의 댓글