[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-3129?page=c...
]
Gail Badner commented on HHH-3129:
----------------------------------
This isn't as simple a fix as it seems.
This constructor is used in other cases and it may not always be appropriate for the role
to be non-null. In particular, when a collection is dereferenced, its role should be
null.
Also, the patch breaks a unit test,
org.hibernate.test.legacy.FumTest.testUnflushedSessionSerialization() .
Null Role in PersitentCollection during a onCollectionRecreate() in
an Interceptor
----------------------------------------------------------------------------------
Key: HHH-3129
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-3129
Project: Hibernate3
Issue Type: Bug
Components: core
Affects Versions: 3.2.6
Environment: Any
Reporter: Jose CHILLAN
Original Estimate: 5 minutes
Remaining Estimate: 5 minutes
When the "onCollectionRecreate" is invoked on an Interceptor, the getRole()
method returns null. After investigation,
the problem is located in the class CollectionEntry in one of its constructors and is
easily solved using the patch :
public CollectionEntry(CollectionPersister persister, PersistentCollection collection)
{
// new collections that get found + wrapped
// during flush shouldn't be ignored
ignore = false;
collection.clearDirty(); //a newly wrapped collection is NOT dirty (or we get
unnecessary version updates)
snapshot = persister.isMutable() ? collection.getSnapshot(persister) : null;
// -- ADDED LINE HERE --
role = persister.getRole();
collection.setSnapshot(loadedKey, role, snapshot);
}
Thanks
--
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