HHH-17965 @ElementCollection with @CollectionTable throws o.h.MappingException Foreign key must have same number of columns as the referenced primary key

This commit is contained in:
Andrea Boriero 2024-04-20 15:10:40 +02:00 committed by Christian Beikov
parent 4eb542872a
commit 97a15ae194
1 changed files with 18 additions and 18 deletions

View File

@ -84,27 +84,27 @@ public class Set extends Collection {
PrimaryKey pk = collectionTable.getPrimaryKey();
if ( pk == null ) {
pk = new PrimaryKey( getCollectionTable() );
}
pk.addColumns( getKey() );
for ( Selectable selectable : getElement().getSelectables() ) {
if ( selectable instanceof Column ) {
Column col = (Column) selectable;
if ( !col.isNullable() ) {
pk.addColumn( col );
}
else {
return;
pk.addColumns( getKey() );
for ( Selectable selectable : getElement().getSelectables() ) {
if ( selectable instanceof Column ) {
Column col = (Column) selectable;
if ( !col.isNullable() ) {
pk.addColumn( col );
}
else {
return;
}
}
}
if ( pk.getColumnSpan() != getKey().getColumnSpan() ) {
collectionTable.setPrimaryKey( pk );
}
// else {
//for backward compatibility, allow a set with no not-null
//element columns, using all columns in the row locator SQL
//TODO: create an implicit not null constraint on all cols?
// }
}
if ( pk.getColumnSpan() != getKey().getColumnSpan() ) {
collectionTable.setPrimaryKey( pk );
}
// else {
//for backward compatibility, allow a set with no not-null
//element columns, using all columns in the row locator SQL
//TODO: create an implicit not null constraint on all cols?
// }
}
// else {
//create an index on the key columns??