HHH-17621 UnsupportedOperationException when merging an entity with a @Any mapping

This commit is contained in:
Andrea Boriero 2024-01-09 16:14:48 +01:00 committed by Christian Beikov
parent c6c2d578de
commit de570da3b0
1 changed files with 18 additions and 19 deletions

View File

@ -191,27 +191,26 @@ public class TypeHelper {
}
else {
final Type type = types[i];
if ( type.isComponentType() ) {
final CompositeType compositeType = (CompositeType) type;
if ( target[i] != null ) {
// need to extract the component values and check for subtype replacements...
final Object[] objects = replaceCompositeAssociations(
session,
copyCache,
foreignKeyDirection,
target[i],
currentOriginal,
compositeType
);
target[i] = compositeType.replacePropertyValues( target[i], objects, session );
}
copied[i] = target[i];
}
else if ( !type.isAssociationType() ) {
copied[i] = target[i];
if ( type.isAssociationType() ) {
copied[i] = types[i].replace( currentOriginal, target[i], session, owner, copyCache, foreignKeyDirection );
}
else {
copied[i] = types[i].replace( currentOriginal, target[i], session, owner, copyCache, foreignKeyDirection );
if ( type.isComponentType() ) {
final CompositeType compositeType = (CompositeType) type;
if ( target[i] != null ) {
// need to extract the component values and check for subtype replacements...
final Object[] objects = replaceCompositeAssociations(
session,
copyCache,
foreignKeyDirection,
target[i],
currentOriginal,
compositeType
);
target[i] = compositeType.replacePropertyValues( target[i], objects, session );
}
}
copied[i] = target[i];
}
}
}