[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-6960) NullPointerException in PreCollectionRemove Listener

ms (JIRA) noreply at atlassian.com
Tue Apr 24 09:50:50 EDT 2012


    [ https://hibernate.onjira.com/browse/HHH-6960?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46393#comment-46393 ] 

ms commented on HHH-6960:
-------------------------

Verified that removing auditing annotation from entities averted the logic flow mentioned earlier, thus avoiding any errors.  In step 2 listenerGroup.isEmpty() was true, therefore skipping step 3 in my previous comment.

The envers dependency was still present as I have dao logic to read the audit tables.  This did not present any issues.

> NullPointerException in PreCollectionRemove Listener
> ----------------------------------------------------
>
>                 Key: HHH-6960
>                 URL: https://hibernate.onjira.com/browse/HHH-6960
>             Project: Hibernate ORM
>          Issue Type: Bug
>          Components: envers
>    Affects Versions: 4.0.0.Final
>         Environment: Hibernate 4.0.0 to MySQL
>            Reporter: Kevin Jordan
>            Assignee: Gail Badner
>
> I'm getting a NullPointerException on line 47 of EnversPreCollectionRemoveEventListenerImpl very consistently. I wasn't sure if it was due to lazy collections or not, but it seems that it fails if they're eagerly fetched or lazily fetched. I'm guessing it has something to do with getLoadedPersister() returning a null value since the comments for it say "This is only available late during the flush cycle". The stack trace is
> Quote:
> java.lang.NullPointerException
> at org.hibernate.envers.event.EnversPreCollectionRemoveEventListenerImpl.onPreRemoveCollection(EnversPreCollectionRemoveEventListenerImpl.java:47)
> at org.hibernate.action.internal.CollectionRemoveAction.preRemove(CollectionRemoveAction.java:143)
> at org.hibernate.action.internal.CollectionRemoveAction.execute(CollectionRemoveAction.java:104)
> at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:273)
> at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:265)
> at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:188)
> at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:323)
> at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
> at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1081)
> at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:315)
> 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:73)
> ... 120 more

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list