Engineering Note

[JPA] EntityManagerFactory, EntityManager 본문

Server/JPA ORM

[JPA] EntityManagerFactory, EntityManager

Software Engineer Kim 2025. 7. 10. 16:52

EntityManagerFactory

- 이름 그대로 엔티티 매니저를 만드는 공장

- EntityManagerFactory는 애플리케이션 당 하나만 만들어서 사용하고, 여러 스레다거 동시에 접근해도 안전하다.




EntityManager

- EntityManagerFactory를 통해 만들 수 있다.

- 엔티티를 저장하고, 수정하고, 삭제하고, 조회하는 등 엔티티와 관련된 모든 일을 처리한다.

- 여러 스레드가 동시에 접근하면 동시성 문제가 발생하므로 스레드 간에 공유 금지다.

- 엔티티 매니저는 내부에 데이터소스(데이터베이스 커넥션)를 유지함녀서 데이터베이스와 통신한다. 

- 애플리케이션 개발자는 엔티티 매니저를 가상의 데이터베이스로 생각할 수 있다.

 

EntityManagerFactory security = Persistence.createEntityManagerFactory("security"); //엔티티 매니저 팩토리 생성
EntityManager em = security.createEntityManager(); //앤티티 매니저 생성

em.close();//앤티티 매니저 종료
emf.close(); //엔티티 매니저 팩토리 종료





참고 자료 : Java ORM 표선 JPA 프로그래밍(저자 김영한)

Comments