OK I have downloaded the working 3.1rc2, and the differency must be in HbmBinder.java.
Around line 1775, in method bindComponent, I see the difference that I think is significant:
new (not working):
Code:
else if ( "property".equals( name ) || "key-property".equals( name ) ) {
value = new SimpleValue( component.getTable() );
String relativePath;
if (isEmbedded) {
relativePath = propertyName;
}
else {
relativePath = subpath.substring( component.getOwner().getEntityName().length() + 1 );
}
bindSimpleValue( subnode, (SimpleValue) value, isNullable, relativePath, mappings );
}
old (working):
Code:
else if ( "property".equals( name ) || "key-property".equals( name ) ) {
value = new SimpleValue( component.getTable() );
bindSimpleValue( subnode, (SimpleValue) value, isNullable, propertyName, mappings );
}
new the relativePath (which is editStatus.editPid) instead of just the propertyName (editPid) is passed. I think I'll change it back in my environment even though I'm not sure what the idea of this change was.