]
Steve Ebersole resolved HHH-7225.
---------------------------------
Resolution: Fixed
Fix Version/s: 4.1.3
NullPointerException after persisting null entity value as
natural-Id
---------------------------------------------------------------------
Key: HHH-7225
URL:
https://hibernate.onjira.com/browse/HHH-7225
Project: Hibernate ORM
Issue Type: Bug
Components: core
Affects Versions: 4.1.2
Reporter: Guenther Demetz
Assignee: Steve Ebersole
Priority: Minor
Labels: naturalid
Fix For: 4.1.3
Attachments: TestCaseHHH-7225.jar
Original Estimate: 1h
Time Spent: 26m
Remaining Estimate: 1h
This request is basically a reopening of HHH-7158.
story-line:
-Fixing of HHH-7158 did successfully solve both attached testmethods, but only the first
one was integrated into hibernate matrix tests.
-Fixing of HHH-7206 did slightly change the way how natural-id-vales are compared,
causing now testmethod2 fail again.
before HHH-7206:
{code}
// lengths have already been verified at this point
for ( int i = 0; i < naturalIdTypes.length; i++ ) {
if ( ! naturalIdTypes[i].isEqual( naturalIdValues[i],
values[i] ) ) {
return false;
}
}
{code}
after HHH-7206: (please notice now there has appeared *persister.getFactory()* as third
parameter)
{code}
// lengths have already been verified at this point
for ( int i = 0; i < naturalIdTypes.length; i++ ) {
if ( ! naturalIdTypes[i].isEqual( values[i], otherValues[i], persister.getFactory() )
) {
return false;
}
}
return true;
{code}
Proposed solutions:
Either revert back to using the isEqual method again with 2 parameters only,
or alternatevely make method
EntityType#isEqual(Object x, Object y, SessionFactoryImplementor factory)
stable against null x,y values as proposed in HHH-7158.
I don't know which one is the better solution, but both solution make the attached
testcases go through without fails.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: