인프런 커뮤니티 질문&답변

lbd4946@gmail.com님의 프로필 이미지

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

Hello JPA - 애플리케이션 개발

엔티티매니저팩토리 cloase 질문

해결된 질문

20.10.03 18:07 작성

·

115

1

EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello");
EntityManager em = emf.createEntityManager();
EntityTransaction tm = em.getTransaction();
tm.begin();

try {
Member findMember = em.find(Member.class, 1L);
findMember.setName("HelloJPA");

tm.commit();
} catch (Exception e) {
tm.rollback();
} finally {
em.close();
}

emf.close();

여기서 emf도 finally에 들어가도 되는거 아닌가요?

꼭 밖에 선언한 이유가 있을까요?

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

2020. 10. 03. 18:10

안녕하세요. lbd4946님

개념적으로 emf는 애플리케이션 전체에서 딱 한번 만들어서 공유합니다. 따라서 다음과 같이 생각해보시면 됩니다.

emf 생성(애플리케이션 시작 시점에 시작)

- em1 생성, 종료

- em2 생성, 종료

- em3 생성, 종료

emf 종료(애플리케이션 종료 시점에 종료)

감사합니다.