value = constr.newInstance(new Object[] { newValue.toString() });
}
if (propertyInEmbeddedKey(propertyName))
{
final ComponentType identifierType = (ComponentType) classMetadata.getIdentifierType();
final String[] propertyNames = identifierType.getPropertyNames();
for (int i = 0; i < propertyNames.length; i++)
{
String name = propertyNames[i];
if (name.equals(propertyName))
{
final Object identifier = classMetadata.getIdentifier(pojo, sessionImplementor);
final Object[] values = identifierType.getPropertyValues(identifier,
EntityMode.POJO);
values[i] = value;
identifierType.setPropertyValues(identifier, values, EntityMode.POJO);
}
}
}
else
{