HHH-15658 Embeddable with more fields than the parent fails with Index out of Bounds

This commit is contained in:
Andrea Boriero 2022-11-10 13:27:13 +01:00 committed by Andrea Boriero
parent 255cf3e301
commit 838cbb81ca
1 changed files with 6 additions and 9 deletions

View File

@ -2025,17 +2025,14 @@ public abstract class AbstractEntityPersister
}
private boolean isSelectable(FetchParent fetchParent, Fetchable fetchable) {
if ( fetchable instanceof AttributeMapping ) {
if ( fetchParent instanceof EmbeddableResultGraphNode
&& ( (EmbeddableResultGraphNode) fetchParent).getReferencedMappingContainer() == getIdentifierMapping() ) {
return true;
}
else {
final int propertyNumber = ( (AttributeMapping) fetchable).getStateArrayPosition();
if ( fetchParent instanceof EmbeddableResultGraphNode ) {
return true;
}
else if ( fetchable instanceof AttributeMapping ) {
final int propertyNumber = ( (AttributeMapping) fetchable ).getStateArrayPosition();
// final int tableNumber = getSubclassPropertyTableNumber( propertyNumber );
// return !isSubclassTableSequentialSelect( tableNumber ) && propertySelectable[propertyNumber];
return propertySelectable[propertyNumber];
}
return propertySelectable[propertyNumber];
}
else {
return true;