@@ -127,7 +127,7 @@ public class JoinedSubclassEntityPersister extends AbstractEntityPersister {
127127
128128 // the closure of all columns used by the entire hierarchy including
129129 // subclasses and superclasses of this class
130- private final int [] subclassColumnTableNumberClosure ;
130+ private final int [] subclassColumnNaturalOrderTableNumberClosure ;
131131// private final int[] subclassFormulaTableNumberClosure;
132132 private final String [] subclassColumnClosure ;
133133
@@ -470,11 +470,12 @@ public JoinedSubclassEntityPersister(
470470 final String tableName = property .getValue ().getTable ().
471471 getQualifiedName ( creationContext .getSqlStringGenerationContext () );
472472 final Integer tableNumber = getTableId ( tableName , subclassTableNameClosure );
473+ final Integer naturalTableNumber = getTableId ( tableName , naturalOrderSubclassTableNameClosure );
473474 propTableNumbers .add ( tableNumber );
474475
475476 for ( Selectable selectable : property .getSelectables () ) {
476477 if ( !selectable .isFormula () ) {
477- columnTableNumbers .add ( tableNumber );
478+ columnTableNumbers .add ( naturalTableNumber );
478479 Column column = (Column ) selectable ;
479480 columns .add ( column .getQuotedName ( dialect ) );
480481 }
@@ -484,7 +485,7 @@ public JoinedSubclassEntityPersister(
484485 }
485486 }
486487
487- subclassColumnTableNumberClosure = toIntArray ( columnTableNumbers );
488+ subclassColumnNaturalOrderTableNumberClosure = toIntArray ( columnTableNumbers );
488489 subclassPropertyTableNumberClosure = toIntArray ( propTableNumbers );
489490// subclassFormulaTableNumberClosure = ArrayHelper.toIntArray( formulaTableNumbers );
490491 subclassColumnClosure = toStringArray ( columns );
@@ -1069,12 +1070,12 @@ public int determineTableNumberForColumn(String columnName) {
10691070 && subclassColumnClosure [i ].endsWith ( "\" " );
10701071 if ( quoted ) {
10711072 if ( subclassColumnClosure [i ].equals ( columnName ) ) {
1072- return subclassColumnTableNumberClosure [i ];
1073+ return subclassColumnNaturalOrderTableNumberClosure [i ];
10731074 }
10741075 }
10751076 else {
10761077 if ( subclassColumnClosure [i ].equalsIgnoreCase ( columnName ) ) {
1077- return subclassColumnTableNumberClosure [i ];
1078+ return subclassColumnNaturalOrderTableNumberClosure [i ];
10781079 }
10791080 }
10801081 }
0 commit comments