모든 함수에서 EntityManagerFactory를 만들고 닫아야합니까? 또는 응용 프로그램이 시작될 때 응용 프로그램을 닫고 닫을 때 만들어야합니까? 나는 그것을 어떻게 얻을 수 있습니까?모든 기능에 대한 EntityManagerFactory?
예를 들어: 데이터베이스에서 개체를 가져
기능 :
나는 두 가지 기능이
private List<SomeItems> getItems() {
List<SomeItems> resultList = new ArrayList<SomeItems>();
entityManagerFactory = Persistence.createEntityManagerFactory("myDatabase");
entityManager = entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
TypedQuery<SomeItems> query = entityManager.createQuery(
"select n from SomeItems n", SomeItems.class);
resultList = query.getResultList();
entityManager.getTransaction().commit();
entityManager.close();
entityManagerFactory.close();
return resultList;
}
기능만을 얻을 항목 이름 :
private List<String> getItemsName() {
List<String> resultList = new ArrayList<String>();
entityManagerFactory = Persistence.createEntityManagerFactory("myDatabase");
entityManager = entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
TypedQuery<String> query = entityManager.createQuery(
"select n.name from SomeItems n", String.class);
resultList = query.getResultList();
entityManager.getTransaction().commit();
entityManager.close();
entityManagerFactory.close();
return resultList;
}
어떻게해야 나는 그것을 향상 시키는가?
모든 JPA 공급자에 대해 모든 JPA 문서가 EMF가 값 비싸지 만 EM은 값이 싸다는 것을 언급하기를 기대합니다. 당신의 공급자의 문서가 그런 말을하지 않는다면 그들에게 문제를 제기 할 것을 제안하십시오 –