• Type: Sub-task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects versions: 3.2.4.sp1, 3.2.5
    • Fix versions: 4.0.1
    • Components: hibernate-core
    • Labels:
    • Environment:
      Windows-XP, Jboss 4.2.1GA, Hibernate 3.2.4SP1, EJB3
    • Last commented by a user?:
    • Sprint:


      For more details see the attached testcase. I'm sorry, but in the short of time i only got a testcase for jboss-server 4.2. Please deploy the server.ear from /release-directory and then call the /src/client/

      It seems, that touching a lazy (Persistent-)Collection of at least a m:n relation inside a Hibernate event-listener always raises this error:
      org.hibernate.AssertionFailure: collection [n-side] was not processed by flush()

      I have two entities A. and B. Both having a m:n relation between each other. Furthermore there is an PostUpdateListener, which iterates onUpdate of entitiy through all properties of updated entity.

      Both entities are linked with eachother (m:n). If i now do a simple update of a property of entity A --> MyPostUpdateListener will be called, which iterates through every property of the updated entity. In case of this property was a collection (= lazy PersistentCollection of m:n relation), hibernate initializes the collection for further work. I can now run through all objects of the collection, but after all work is done in listener, I get the following exception from postFlush:

      Caused by: org.hibernate.AssertionFailure: collection [com.qualitype.testcase.server.ejb.entity.EntityB.entitiesOfA] was not processed by flush()
      at org.hibernate.engine.CollectionEntry.postFlush(
      at org.hibernate.event.def.AbstractFlushingEventListener.postFlush(
      at org.hibernate.event.def.DefaultFlushEventListener.onFlush(
      at org.hibernate.impl.SessionImpl.flush(
      at org.hibernate.impl.SessionImpl.managedFlush(
      at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(
      ... 29 more

      Attention: EntityB.entitiesOfA is the other-side collection of the m:n relation of the updated EntityA.

      We are using hibernate-event listener system for auditing-purposes, so you should understand that touching every (element in the) collection is necessary for audit-purposes.

      Seems for me like a serious bug. Need this fixed asap ...


          Issue links



              • Created:

                Time Tracking

                Original Estimate - Not Specified
                Not Specified
                Remaining Estimate - 0h
                Time Spent - 2h 22m
                2h 22m