HHH-18399 Avoid collecting duplicate attribute for to-one inverse table
This commit is contained in:
parent
1ab7493e73
commit
5550c20120
|
@ -3584,6 +3584,8 @@ public abstract class AbstractEntityPersister
|
||||||
final TableMappingBuilder tableMappingBuilder;
|
final TableMappingBuilder tableMappingBuilder;
|
||||||
|
|
||||||
final TableMappingBuilder existing = tableBuilderMap.get( tableExpression );
|
final TableMappingBuilder existing = tableBuilderMap.get( tableExpression );
|
||||||
|
|
||||||
|
final boolean inverseTable = isInverseTable( relativePosition );
|
||||||
if ( existing == null ) {
|
if ( existing == null ) {
|
||||||
final Consumer<SelectableConsumer> selectableConsumerConsumer = tableKeyColumnVisitationSupplier.get();
|
final Consumer<SelectableConsumer> selectableConsumerConsumer = tableKeyColumnVisitationSupplier.get();
|
||||||
final List<EntityTableMapping.KeyColumn> keyColumns = new ArrayList<>();
|
final List<EntityTableMapping.KeyColumn> keyColumns = new ArrayList<>();
|
||||||
|
@ -3614,7 +3616,7 @@ public abstract class AbstractEntityPersister
|
||||||
relativePosition,
|
relativePosition,
|
||||||
new EntityTableMapping.KeyMapping( keyColumns, identifierMapping ),
|
new EntityTableMapping.KeyMapping( keyColumns, identifierMapping ),
|
||||||
!isIdentifierTable && isNullableTable( relativePosition ),
|
!isIdentifierTable && isNullableTable( relativePosition ),
|
||||||
isInverseTable( relativePosition ),
|
inverseTable,
|
||||||
isIdentifierTable,
|
isIdentifierTable,
|
||||||
insertExpectations[ relativePosition ],
|
insertExpectations[ relativePosition ],
|
||||||
customInsertSql,
|
customInsertSql,
|
||||||
|
@ -3636,7 +3638,9 @@ public abstract class AbstractEntityPersister
|
||||||
tableMappingBuilder = existing;
|
tableMappingBuilder = existing;
|
||||||
}
|
}
|
||||||
|
|
||||||
collectAttributesIndexesForTable( relativePosition, tableMappingBuilder.attributeIndexes::add );
|
if ( !inverseTable ) {
|
||||||
|
collectAttributesIndexesForTable( relativePosition, tableMappingBuilder.attributeIndexes::add );
|
||||||
|
}
|
||||||
} );
|
} );
|
||||||
|
|
||||||
final EntityTableMapping[] list = new EntityTableMapping[tableBuilderMap.size()];
|
final EntityTableMapping[] list = new EntityTableMapping[tableBuilderMap.size()];
|
||||||
|
|
Loading…
Reference in New Issue