2010-07-28 5 views
24

저는 ORM에서 꽤 새로 왔습니다. 나는 Hibernate를 사용하는 Java Persistence API에 대한 책과 문서를 읽기 시작한다.언제 EntityManagerFactory를 종료해야합니까?

나는 EntityManagerFactory를 닫는 것이 jdbc 데이터베이스 연결 닫기와 비슷합니까?

모든 유지/업데이트/삭제 후에 닫아야합니까? 만약 우리가 그것을 닫지 않으면, 데이터베이스 연결을 열어 두시겠습니까?

+0

EM이 연결된 경우 "호스트"또는 "부모"가 닫힌 경우 어떻게 Connection을 열 수 있습니까? 말이 돼 ? –

답변

32

방금 ​​궁금한 점은 EntityManagerFactory이 (가) jdbc 데이터베이스 연결 닫기와 비슷합니까?

이것은 정확히 사실이 아니지만 EntityManagerFactory을 닫으면 전체 연결 풀이 더 가깝습니다. JDBC 연결을 생각하고 싶다면 EntityManager으로 생각해야합니다.

모든 유지/업데이트/삭제 후에 닫아야합니까? EntityManagerFactory 꽤 비용이 많이 드는 작업과 애플리케이션 (응용 프로그램의 마지막에 그것을 close)의 수명에 대해 한 번 수행해야 만들기

. 따라서 각각의 지속/업데이트/삭제 작업을 위해 닫지 않아야합니다.

EntityManagerFactory

모두에 대해 한 번 생성하고 일반적으로 요청의 말에 폐쇄 요청, 당 EntityManager를 얻을 수 (요청에 따라 EntityManager는 다중 사용자 클라이언트/서버 응용 프로그램에 대한 가장 일반적인 패턴이다).

닫지 않으면 데이터베이스 연결을 유지할 수 있습니까?

으로는 그것이 실제로 데이터베이스 연결 에 관련되어 EntityManager하고있어, 암시 EntityManager 실제로 (가장 자주 풀에 반환) JDBC 연결을 해제합니다 종료.

관련 문제