Hibernate UserTransaction

2 respostas
DeGuedes

E ai galera...
To com um problema, estou criando uma classe de entidade JPA para um projeto q usa JSF. Troquei minha versao do netbeans para 7.0 e ao criar a Classe Jpa ela esta gerando diferente de antes, no construtor é necessário passar um objeto UserTransaction, porem nao faço a minina ideia para que seja isso:

public class PaisJpaController implements Serializable {

    public PaisJpaController(UserTransaction utx, EntityManagerFactory emf) {
        this.utx = utx;
        this.emf = emf;
    }
    private UserTransaction utx = null;
    private EntityManagerFactory emf = null;

    public EntityManager getEntityManager() {
        return emf.createEntityManager();
    }

    public void create(Pais pais) throws RollbackFailureException, Exception {
        EntityManager em = null;
        try {
            utx.begin();
            em = getEntityManager();
            em.persist(pais);
            utx.commit();
        } catch (Exception ex) {
            try {
                utx.rollback();
            } catch (Exception re) {
                throw new RollbackFailureException("An error occurred attempting to roll back the transaction.", re);
            }
            throw ex;
        } finally {
            if (em != null) {
                em.close();
            }
        }
    }

e antes me gerava assim:

public CidadeJpaController() {
        emf = Persistence.createEntityManagerFactory("f2erpPU");
    }
    private EntityManagerFactory emf = null;

    public EntityManager getEntityManager() {
        return emf.createEntityManager();
      
    }

    public void create(Cidade cidade) {
        EntityManager em = null;
        try {
            em = getEntityManager();
            em.getTransaction().begin();
            em.persist(cidade);
            em.getTransaction().commit();
        } finally {
            if (em != null) {
                em.close();
            }
        }
    }

Alguem sabe como lidar com esse modelo novo?

2 Respostas

E

Tenho esse problema também, mas pelo que vi é no glassfish no meu caso. Usava o 3.0.1 e não gerava UserTransaction ao criar JPA pelo Netbeans. Já no 3.1 em diante tive o problema.

Alguém sabe o porque ?

I

Estou com mesmo problema acima.

Como criar o objeto utx para passa-lo como parâmetro para o método construtor no momento da instanciação do ClasseJpacontroller ?

Criado 14 de julho de 2011
Ultima resposta 4 de set. de 2013
Respostas 2
Participantes 3