Pokaże Wam moją klasę DAO. Nie wiem czy jest stworzona zgodnie ze standardem ale moj główny problem polega na tym, że jezeli skorzystam z metody dodaj() drugi raz dostaje błąd, że "entityManager is closed". W jaki sposób zresetować entityManagera ?
package pl.konrad.dao;
import java.io.Serializable;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.PersistenceContext;
public class DAO implements Serializable
{
/**
*
*/
private static final long serialVersionUID = 1L;
private static EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("test");
private static EntityManager entityManager = entityManagerFactory.createEntityManager();
private static DAO instancja = new DAO();
public static DAO getInstancja() {
return instancja;
}
public static EntityManagerFactory getEntityManagerFactory() {
return entityManagerFactory;
}
public static void setEntityManagerFactory(
EntityManagerFactory entityManagerFactory) {
DAO.entityManagerFactory = entityManagerFactory;
}
public static EntityManager getEntityManager() {
return entityManager;
}
public static void setEntityManager(EntityManager entityManager) {
DAO.entityManager = entityManager;
}
public void dodaj(Object object)
{
entityManager.getTransaction().begin();
entityManager.persist(object);
entityManager.getTransaction().commit();
entityManager.close();
entityManagerFactory.close();
System.out.println(object.toString());
}
}