From 723c66ea036b5bc53ddeee0005e335cffff16a45 Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Mon, 23 Nov 2015 14:42:32 +0100 Subject: Use singleton for EntityManagerFactory --- src/beans/CategoryManager.java | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'src/beans/CategoryManager.java') diff --git a/src/beans/CategoryManager.java b/src/beans/CategoryManager.java index fc3d438..db42f37 100644 --- a/src/beans/CategoryManager.java +++ b/src/beans/CategoryManager.java @@ -17,11 +17,10 @@ import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext; import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; -import javax.persistence.Persistence; import jpa.Category; +import jpa.EntityManagerFactorySingleton; @ManagedBean(name = "CategoryManager") @SessionScoped @@ -41,10 +40,14 @@ public class CategoryManager public Collection getCategories() { - EntityManagerFactory factory = Persistence - .createEntityManagerFactory("catalog"); - EntityManager manager = factory.createEntityManager(); - return manager.createQuery("SELECT c FROM Category c ").getResultList(); + EntityManager manager = EntityManagerFactorySingleton.getInstance() + .getEntityManagerFactory().createEntityManager(); + + Collection categories = manager.createQuery("SELECT c FROM Category c ") + .getResultList(); + manager.close(); + + return categories; } public void select(javax.faces.event.ActionEvent actionEvent) @@ -54,9 +57,8 @@ public class CategoryManager Integer selectedId = Integer.valueOf((String) params.get("selectedId")); // System.out.println(selectedId); - EntityManagerFactory factory = Persistence - .createEntityManagerFactory("catalog"); - EntityManager manager = factory.createEntityManager(); + EntityManager manager = EntityManagerFactorySingleton.getInstance() + .getEntityManagerFactory().createEntityManager(); EntityTransaction tx = manager.getTransaction(); tx.begin(); @@ -83,5 +85,6 @@ public class CategoryManager e.printStackTrace(); } context.responseComplete(); + manager.close(); } } -- cgit v1.2.3-70-g09d2