Skip to content

Commit 0755134

Browse files
committed
HHH-18399 Avoid collecting duplicate attribute for to-one inverse table
1 parent d44f6ba commit 0755134

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

hibernate-core/src/main/java/org/hibernate/persister/entity/AbstractEntityPersister.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3547,6 +3547,8 @@ protected EntityTableMapping[] buildTableMappings() {
35473547
final TableMappingBuilder tableMappingBuilder;
35483548

35493549
final TableMappingBuilder existing = tableBuilderMap.get( tableExpression );
3550+
3551+
final boolean inverseTable = isInverseTable( relativePosition );
35503552
if ( existing == null ) {
35513553
final Consumer<SelectableConsumer> selectableConsumerConsumer = tableKeyColumnVisitationSupplier.get();
35523554
final List<EntityTableMapping.KeyColumn> keyColumns = new ArrayList<>();
@@ -3577,7 +3579,7 @@ protected EntityTableMapping[] buildTableMappings() {
35773579
relativePosition,
35783580
new EntityTableMapping.KeyMapping( keyColumns, identifierMapping ),
35793581
!isIdentifierTable && isNullableTable( relativePosition ),
3580-
isInverseTable( relativePosition ),
3582+
inverseTable,
35813583
isIdentifierTable,
35823584
insertExpectations[ relativePosition ],
35833585
customInsertSql,
@@ -3599,7 +3601,9 @@ protected EntityTableMapping[] buildTableMappings() {
35993601
tableMappingBuilder = existing;
36003602
}
36013603

3602-
collectAttributesIndexesForTable( relativePosition, tableMappingBuilder.attributeIndexes::add );
3604+
if ( !inverseTable ) {
3605+
collectAttributesIndexesForTable( relativePosition, tableMappingBuilder.attributeIndexes::add );
3606+
}
36033607
} );
36043608

36053609
final EntityTableMapping[] list = new EntityTableMapping[tableBuilderMap.size()];

0 commit comments

Comments
 (0)