EntityManager is closed

0

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());
	
	}
	
}



0

Stworzyć nowego.

0

Wyrzuć to:

entityManager.close();
entityManagerFactory.close();
0

ok skoro już wiem,że transakcja nie musi być zamykana to jeszcze chciałbym zapytać doświadczonych o tworzenie prostego DAO. Chodzi o dodanie,usuniecie,modyfikacje uzytkownika żadnych skomplikowanych metod. W jaki sposób najlepiej stworzyc proste DAO
interfejs ?
klasa odzielna ?
jakas klasa w klasie UzytkownikBean ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1