public class FuncoesBanco {
private static EntityManagerFactory emf;
private EntityManager getEntityManager() {
return emf.createEntityManager();
}
public FuncoesBanco() {
emf = Persistence.createEntityManagerFactory("CaixaPU");
}
public boolean persist(Object obj) {
EntityManager em = getEntityManager();
try {
em.getTransaction().begin();
em.persist(obj);
em.getTransaction().commit();
return true;
} catch (Exception ex) {
ex.printStackTrace();
em.getTransaction().rollback();
return false;
} finally {
em.close();
}
}
public boolean update(Object obj) {
EntityManager em = getEntityManager();
try {
em.getTransaction().begin();
em.merge(obj);
em.getTransaction().commit();
return true;
} catch (Exception ex) {
ex.printStackTrace();
em.getTransaction().rollback();
return false;
} finally {
em.close();
}
}
public boolean delete(Object obj) {
EntityManager em = getEntityManager();
try {
em.getTransaction().begin();
obj = em.merge(obj);
em.remove(obj);
em.getTransaction().commit();
return true;
} catch (Exception ex) {
ex.printStackTrace();
em.getTransaction().rollback();
return false;
} finally {
em.close();
}
}
}
como eu faco para transformar essa classe igual a um design patterns de conexao?? pois eu preciso abrir conexao em um determinado ponto.. executar algumas operacoes de exclusao, alteracao, inclusao e depois no final fechar a conexao.. porem nao posso perder essa conexao..
qdo e com jdc eu sei fazer.. porem nao sei se e a mesma coisa para jpa
obrigado
