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, botów: 0