Method NaturalIdXrefDelegate#cache() misses to remove obsolete entry in naturalIdToPkMap
when NaturalId values changed
----------------------------------------------------------------------------------------------------------------------
Key: HHH-7160
URL:
https://hibernate.onjira.com/browse/HHH-7160
Project: Hibernate ORM
Issue Type: Bug
Components: core
Affects Versions: 4.1.1
Environment: Hibernate4.1.1
Reporter: Guenther Demetz
Attachments: TestCaseNaturalIdChangeBetweenPersistAndFlush.jar
Method NaturalIdXrefDelegate#cache() misses to remove obsolete entry in naturalIdToPkMap
when NaturalId values changed,
thus NaturalIdAccess delivers results even by searching with obsolete values (see attached
Testcase).
Cause:
following instruction is missing in Method NaturalIdXrefDelegate#cache():
if ( initial != null ) {
if ( areSame( naturalIdValues, initial.getValues()) ) {
return false;
}
naturalIdToPkMap.remove(initial); // <-- this instruciton is missing
}
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira