06 March 2013

javax.persistence.RollbackException: Error while committing the transaction


the valid jpa update entity code gives the exception below in the case of  wrong dependency( org.hibernate,  hibernate-core,  4.2.0.CR1)
   


        entityManager.getTransaction().begin();
        CompactDisc compactDisc = entityManager.find(CompactDisc.class, 7777);
        compactDisc.setTitle("ZZZZZZZ");
        entityManager.getTransaction().commit();
        entityManager.close();



Exception in thread "main" javax.persistence.RollbackException: Error while committing the transaction
    at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:92)
    at com.conygre.training.entities.LifecycleTester.main(LifecycleTester.java:25)
Caused by: java.lang.NullPointerException
    at org.hibernate.ejb.event.EJB3PostUpdateEventListener.handlePostUpdate(EJB3PostUpdateEventListener.java:71)
    at org.hibernate.ejb.event.EJB3PostUpdateEventListener.onPostUpdate(EJB3PostUpdateEventListener.java:67)
    at org.hibernate.action.internal.EntityUpdateAction.postUpdate(EntityUpdateAction.java:248)
    at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:205)
    at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362)
    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:354)
    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:276)
    at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:328)
    at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
    at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1212)
    at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:400)
    at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)
    at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175)
    at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:75)


As a resolution Change the version to to 4.1.9.Final or 3.6.10.Final

2 comments:

Unknown said...

Hi,OSMAN!
I got the same issue.Is this really a version mismatch problem?

Unknown said...

yes, the versions that I indicated are not compatible with each other, just update your pom or classpath to
to 4.1.9.Final or 3.6.10.Final