[
https://hibernate.onjira.com/browse/HHH-7160?page=com.atlassian.jira.plug...
]
Steve Ebersole updated HHH-7160:
--------------------------------
Fix Version/s: 4.1.2
Summary: NaturalIdXrefDelegate#cache() needs to remove obsolete entries in
shared cache when NaturalId values changed (was: Method NaturalIdXrefDelegate#cache()
misses to remove obsolete entry in naturalIdToPkMap when NaturalId values changed)
NaturalIdXrefDelegate#cache() needs to remove obsolete entries in
shared cache 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
Assignee: Steve Ebersole
Labels: naturalId
Fix For: 4.1.2
Attachments: TestCaseNaturalIdChangeBetweenPersistAndFlush.jar
Original Estimate: 1h
Remaining Estimate: 1h
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