[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-5166?page=c...
]
Gail Badner resolved HHH-5166.
------------------------------
Assignee: Gail Badner
Resolution: Rejected
This is expected behavior.
When the User was merged with the new Role, the insert and/or update operations were
queued, but not flushed.
Later, when the transaction was committed, Hibernate tried to flush the insert or update,
but the entities were no longer in the session, resulting in AssertionFailure.
Calling Session.flush() before evicting the entities will fix this.
Inconsistent session state with merge/evict on
cascade="all" association
------------------------------------------------------------------------
Key: HHH-5166
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-5166
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.3.2, 3.5.1
Environment: Reproducted on :
Hibernate-core 3.3.2 and 3.5.1-Final
DB2 and HSQL DB
with annotation and classic hbm mapping
Reporter: Alexandre FRADIN
Assignee: Gail Badner
Priority: Critical
Attachments: hibernate-test-merge-evict-cascade-all.zip
My apologies for my English.
I have entities User and Role with a many-to-many association mapped with
cascade="all". So merge and evict operations on User should be applied to this
association.
When I do the following :
1) create user u existing in DB
2) add a new Role r to this user (this Role don't exists in DB)
3) merge u
4) evict the instance returned by the merge operation
5) use the same session for any operation
6) commit the session
I get this exception : "org.hibernate.AssertionFailure: possible nonthreadsafe
access to session".
There is no thread issue. I think this is a standard way to use merge and evict
operations.
I think that merge and evict operations used on modified entities leave the session in an
inconsistent state.
See unit test wich reproduct this bug.
Does a workaround exist for this bug?
Regards.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira