[Resolvido] Metodo create bugando

1 resposta
A

Ola galera,

Estou com problema ao tentar persistir para criar o meu objeto na tabela do MySQL.

O problema esta ocorrendo sempre quando chamo o metodo begin.

Segue o codigo e o erro.

App.java
public class App {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here

       EntityManager em = Dados.createEntityManager();
       
        try {
           em.getTransaction().begin();
           PessoaChefeDAO p = new PessoaChefeDAO(em);
           PessoaChefe pm = new PessoaChefe();
           
           pm.setLogin("lele");
           pm.setPassword("teste");
           pm.setNom("toto");
           pm.setAdministration(Boolean.TRUE);
           pm.setNomGroup("BU");
           pm.setRapportA("lala")

           p.create(pm);
           
           em.getTransaction().commit();
        }
        catch (Exception e) {
            em.getTransaction().rollback();
            e.printStackTrace();
        }
        finally{
            em.close();
        }
         
        System.out.println("Banco criado com sucesso");
       
    }
}

PessoaChefeDAO.java

public class PessoaChefeDAO {
     private final EntityManager em;

     public PessoaChefeDAO(EntityManager em) {
        this.em = em;
    }
    public void create ( PessoaChefe pm) {
        EntityTransaction tx = em.getTransaction();
        tx.begin();
        em.persist(pm);
        tx.commit();

    }
    public void update ( PessoaChefe pm) {
        em.getTransaction().begin();
        em.merge(pm);
        em.getTransaction().commit();
    }
    public void delete ( PessoaChefe  pm) {
          em.getTransaction().begin();
          em.remove(pm);
          em.getTransaction().commit();
    }
}

erro

[list]févr. 26, 2013 10:49:35 AM org.hibernate.tool.hbm2ddl.SchemaExport execute
INFO: HHH000230: Schema export complete
java.lang.IllegalStateException: Transaction already active
Banco criado com sucesso
at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:56)
at com.alstom.ems2.dao.PessoaChefeDAODAO.create(PessoaChefeDAO.java:09) //editei a linha do erro pra referenciar ao codigo postado
at com.alstom.ems2.model.App.main(App.java:43)[/list]

Obrigado

1 Resposta

A

Esquecam, erro bobo, durante o begin do app, chamei o metodo create que chama o begin tambem.

Criado 26 de fevereiro de 2013
Ultima resposta 26 de fev. de 2013
Respostas 1
Participantes 1