Skip to content

Commit 8fb6a0e

Browse files
committed
clean up handling of ForeignKey access from Table
1 parent 7c6b7c6 commit 8fb6a0e

27 files changed

+101
-121
lines changed

hibernate-core/src/main/java/org/hibernate/boot/internal/InFlightMetadataCollectorImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1941,7 +1941,7 @@ protected void secondPassCompileForeignKeys(Table table, Set<ForeignKey> done, M
19411941
table.createForeignKeys( buildingContext );
19421942

19431943
final Dialect dialect = getDatabase().getJdbcEnvironment().getDialect();
1944-
for ( ForeignKey foreignKey : table.getForeignKeys().values() ) {
1944+
for ( ForeignKey foreignKey : table.getForeignKeyCollection() ) {
19451945
if ( !done.contains( foreignKey ) ) {
19461946
done.add( foreignKey );
19471947
final PersistentClass referencedClass = foreignKey.resolveReferencedClass(this);

hibernate-core/src/main/java/org/hibernate/boot/internal/MetadataImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ private void handleUDT(UserDefinedType userDefinedType, ColumnOrderingStrategy c
408408
}
409409

410410
private void handleForeignKeys(Table table, ColumnOrderingStrategy columnOrderingStrategy) {
411-
for ( ForeignKey foreignKey : table.getForeignKeys().values() ) {
411+
for ( ForeignKey foreignKey : table.getForeignKeyCollection() ) {
412412
final List<Column> columns = foreignKey.getColumns();
413413
if ( columns.size() > 1 ) {
414414
if ( foreignKey.getReferencedColumns().isEmpty() ) {

hibernate-core/src/main/java/org/hibernate/dialect/SpannerDialectTableExporter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public String[] getSqlCreateStrings(Table table, Metadata metadata, SqlStringGen
5353
// a typical table that corresponds to an entity type
5454
keyColumns = table.getPrimaryKey().getColumns();
5555
}
56-
else if ( !table.getForeignKeys().isEmpty() ) {
56+
else if ( !table.getForeignKeyCollection().isEmpty() ) {
5757
// a table with no PK's but has FK's; often corresponds to element collection properties
5858
keyColumns = table.getColumns();
5959
}

hibernate-core/src/main/java/org/hibernate/mapping/DenormalizedTable.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public DenormalizedTable(
6060
@Override
6161
public void createForeignKeys(MetadataBuildingContext context) {
6262
includedTable.createForeignKeys( context );
63-
for ( ForeignKey foreignKey : includedTable.getForeignKeys().values() ) {
63+
for ( ForeignKey foreignKey : includedTable.getForeignKeyCollection() ) {
6464
final PersistentClass referencedClass =
6565
foreignKey.resolveReferencedClass( context.getMetadataCollector() );
6666
// the ForeignKeys created in the first pass did not have their referenced table initialized

hibernate-core/src/main/java/org/hibernate/mapping/Table.java

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import java.util.Objects;
1616
import java.util.function.Function;
1717

18+
import org.hibernate.Incubating;
1819
import org.hibernate.Internal;
1920
import org.hibernate.MappingException;
2021
import org.hibernate.boot.model.naming.Identifier;
@@ -32,6 +33,7 @@
3233

3334
import static java.util.Collections.emptyList;
3435
import static java.util.Collections.singletonList;
36+
import static java.util.Collections.unmodifiableCollection;
3537
import static java.util.Collections.unmodifiableList;
3638
import static java.util.Collections.unmodifiableMap;
3739
import static java.util.stream.Collectors.toList;
@@ -318,6 +320,15 @@ public Map<String, Index> getIndexes() {
318320
return unmodifiableMap( indexes );
319321
}
320322

323+
@Incubating
324+
public Collection<ForeignKey> getForeignKeyCollection() {
325+
return unmodifiableCollection( foreignKeys.values() );
326+
}
327+
328+
/**
329+
* @deprecated because {@link ForeignKeyKey} should be private.
330+
*/
331+
@Deprecated(since = "7", forRemoval = true)
321332
public Map<ForeignKeyKey, ForeignKey> getForeignKeys() {
322333
return unmodifiableMap( foreignKeys );
323334
}
@@ -592,6 +603,8 @@ public ForeignKey createForeignKey(
592603
for ( Column keyColumn : keyColumns ) {
593604
foreignKey.addColumn( keyColumn );
594605
}
606+
607+
// null referencedColumns means a reference to primary key
595608
if ( referencedColumns != null ) {
596609
foreignKey.addReferencedColumns( referencedColumns );
597610
}
@@ -611,16 +624,16 @@ public ForeignKey createForeignKey(
611624
}
612625

613626
/**
614-
* Checks for uniqueKey containing only whole primary key and sets
615-
* order of the columns accordingly
627+
* Checks for unique key containing only whole primary key and sets
628+
* order of the columns accordingly
616629
*/
617630
private void checkPrimaryKeyUniqueKey() {
618-
final Iterator<Map.Entry<String,UniqueKey>> uniqueKeyEntries = uniqueKeys.entrySet().iterator();
631+
final var uniqueKeyEntries = uniqueKeys.entrySet().iterator();
619632
while ( uniqueKeyEntries.hasNext() ) {
620-
final Map.Entry<String,UniqueKey> uniqueKeyEntry = uniqueKeyEntries.next();
621-
622-
if ( isSameAsPrimaryKeyColumns( uniqueKeyEntry.getValue() ) ) {
623-
primaryKey.setOrderingUniqueKey(uniqueKeyEntry.getValue());
633+
final var uniqueKeyEntry = uniqueKeyEntries.next();
634+
final UniqueKey uniqueKey = uniqueKeyEntry.getValue();
635+
if ( isSameAsPrimaryKeyColumns( uniqueKey ) ) {
636+
primaryKey.setOrderingUniqueKey( uniqueKey );
624637
uniqueKeyEntries.remove();
625638
}
626639
}
@@ -749,6 +762,7 @@ public void setViewQuery(String viewQuery) {
749762
this.viewQuery = viewQuery;
750763
}
751764

765+
@Deprecated(since = "7") // this class should be private!
752766
public static class ForeignKeyKey implements Serializable {
753767
private final String referencedClassName;
754768
private final Column[] columns;
@@ -769,10 +783,8 @@ public int hashCode() {
769783
}
770784

771785
public boolean equals(Object other) {
772-
if ( !(other instanceof ForeignKeyKey foreignKeyKey) ) {
773-
return false;
774-
}
775-
return Arrays.equals( foreignKeyKey.columns, columns )
786+
return other instanceof ForeignKeyKey foreignKeyKey
787+
&& Arrays.equals( foreignKeyKey.columns, columns )
776788
&& Arrays.equals( foreignKeyKey.referencedColumns, referencedColumns );
777789
}
778790

hibernate-core/src/main/java/org/hibernate/tool/schema/internal/AbstractSchemaMigrator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,7 @@ protected void applyForeignKeys(
435435
GenerationTarget... targets) {
436436
if ( dialect.hasAlterTable() ) {
437437
final Exporter<ForeignKey> exporter = dialect.getForeignKeyExporter();
438-
for ( ForeignKey foreignKey : table.getForeignKeys().values() ) {
438+
for ( ForeignKey foreignKey : table.getForeignKeyCollection() ) {
439439
if ( foreignKey.isPhysicalConstraint()
440440
&& foreignKey.isCreationEnabled()
441441
&& ( tableInformation == null || !checkForExistingForeignKey( foreignKey, tableInformation ) ) ) {

hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaCreatorImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ private static void createForeignKeys(
290290
if ( schemaFilter.includeTable( table )
291291
&& contributableInclusionMatcher.matches( table ) ) {
292292
// foreign keys
293-
for ( ForeignKey foreignKey : table.getForeignKeys().values() ) {
293+
for ( ForeignKey foreignKey : table.getForeignKeyCollection() ) {
294294
applySqlStrings(
295295
dialect.getForeignKeyExporter().getSqlCreateStrings( foreignKey, metadata, context ),
296296
formatter,

hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaDropperImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ private void applyConstraintDropping(
475475
if ( table.isPhysicalTable()
476476
&& schemaFilter.includeTable( table )
477477
&& inclusionFilter.matches( table ) ) {
478-
for ( ForeignKey foreignKey : table.getForeignKeys().values() ) {
478+
for ( ForeignKey foreignKey : table.getForeignKeyCollection() ) {
479479
applySqlStrings(
480480
dialect.getForeignKeyExporter().getSqlDropStrings( foreignKey, metadata, context ),
481481
formatter,

hibernate-core/src/main/java/org/hibernate/tool/schema/internal/SchemaTruncatorImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ private void disableConstraints(
198198
continue;
199199
}
200200

201-
for ( ForeignKey foreignKey : table.getForeignKeys().values() ) {
201+
for ( ForeignKey foreignKey : table.getForeignKeyCollection() ) {
202202
if ( dialect.canDisableConstraints() ) {
203203
applySqlString(
204204
dialect.getTableCleaner().getSqlDisableConstraintString( foreignKey, metadata, context ),
@@ -241,7 +241,7 @@ private void enableConstraints(
241241
continue;
242242
}
243243

244-
for ( ForeignKey foreignKey : table.getForeignKeys().values() ) {
244+
for ( ForeignKey foreignKey : table.getForeignKeyCollection() ) {
245245
if ( dialect.canDisableConstraints() ) {
246246
applySqlString(
247247
dialect.getTableCleaner().getSqlEnableConstraintString( foreignKey, metadata, context ),

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/collectionelement/DefaultNamingCollectionElementTest.java

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
import java.util.HashMap;
88
import java.util.Iterator;
9-
import java.util.List;
109
import java.util.Locale;
1110

1211
import org.hibernate.Filter;
@@ -15,7 +14,6 @@
1514
import org.hibernate.mapping.Collection;
1615
import org.hibernate.mapping.Column;
1716
import org.hibernate.mapping.ForeignKey;
18-
import org.hibernate.query.Query;
1917

2018
import org.hibernate.testing.orm.junit.JiraKey;
2119
import org.hibernate.testing.orm.junit.DomainModel;
@@ -39,7 +37,6 @@
3937
* @author Hardy Ferentschik
4038
* @author Gail Badner
4139
*/
42-
@SuppressWarnings("unchecked")
4340
@DomainModel(
4441
annotatedClasses = {
4542
Boy.class,
@@ -102,10 +99,10 @@ public void testSimpleElement(SessionFactoryScope scope) {
10299
assertNotNull( boy.getFavoriteNumbers() );
103100
assertEquals( 3, boy.getFavoriteNumbers()[1] );
104101
assertTrue( boy.getCharacters().contains( CharacterTrait.CRAFTY ) );
105-
assertTrue( boy.getFavoriteFood().get( "dinner" ).equals( FavoriteFood.SUSHI ) );
106-
assertTrue( boy.getFavoriteFood().get( "lunch" ).equals( FavoriteFood.KUNGPAOCHICKEN ) );
107-
assertTrue( boy.getFavoriteFood().get( "breakfast" ).equals( FavoriteFood.PIZZA ) );
108-
List result = session.createQuery(
102+
assertEquals( FavoriteFood.SUSHI, boy.getFavoriteFood().get( "dinner" ) );
103+
assertEquals( FavoriteFood.KUNGPAOCHICKEN, boy.getFavoriteFood().get( "lunch" ) );
104+
assertEquals( FavoriteFood.PIZZA, boy.getFavoriteFood().get( "breakfast" ) );
105+
var result = session.createQuery(
109106
"select boy from Boy boy join boy.nickNames names where names = :name" )
110107
.setParameter( "name", "Thing" ).list();
111108
assertEquals( 1, result.size() );
@@ -210,11 +207,11 @@ public void testLazyCollectionofElements(SessionFactoryScope scope) {
210207
assertTrue( boy.getNickNames().contains( "Thing" ) );
211208
assertNotNull( boy.getScorePerNickName() );
212209
assertTrue( boy.getScorePerNickName().containsKey( "Thing" ) );
213-
assertEquals( new Integer( 5 ), boy.getScorePerNickName().get( "Thing" ) );
210+
assertEquals( Integer.valueOf( 5 ), boy.getScorePerNickName().get( "Thing" ) );
214211
assertNotNull( boy.getFavoriteNumbers() );
215212
assertEquals( 3, boy.getFavoriteNumbers()[1] );
216213
assertTrue( boy.getCharacters().contains( CharacterTrait.CRAFTY ) );
217-
List result = session.createQuery(
214+
var result = session.createQuery(
218215
"select boy from Boy boy join boy.nickNames names where names = :name" )
219216
.setParameter( "name", "Thing" ).list();
220217
assertEquals( 1, result.size() );
@@ -240,9 +237,8 @@ public void testFetchEagerAndFilter(SessionFactoryScope scope) {
240237
Filter filter = session.enableFilter( "selectedLocale" );
241238
filter.setParameter( "param", "fr" );
242239

243-
Query q = session.createQuery( "from TestCourse t" );
244-
List l = q.list();
245-
assertEquals( 1, l.size() );
240+
assertEquals( 1,
241+
session.createQuery( "from TestCourse t" ).list().size() );
246242

247243
TestCourse t = session.get( TestCourse.class, test.getTestCourseId() );
248244
assertEquals( 1, t.getTitle().getVariations().size() );
@@ -407,8 +403,7 @@ protected void checkDefaultJoinColumnName(
407403
assertEquals( ownerForeignKeyNameExpected, ownerCollection.getKey().getSelectables().get( 0 ).getText() );
408404

409405
boolean hasOwnerFK = false;
410-
for (Iterator it = ownerCollection.getCollectionTable().getForeignKeys().values().iterator(); it.hasNext(); ) {
411-
final ForeignKey fk = (ForeignKey) it.next();
406+
for ( final ForeignKey fk : ownerCollection.getCollectionTable().getForeignKeyCollection() ) {
412407
assertSame( ownerCollection.getCollectionTable(), fk.getTable() );
413408
if ( fk.getColumnSpan() > 1 ) {
414409
continue;

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/manytomany/defaults/ManyToManyImplicitNamingTest.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
*/
55
package org.hibernate.orm.test.annotations.manytomany.defaults;
66

7-
import java.util.Iterator;
8-
97
import org.hibernate.boot.MetadataBuilder;
108
import org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl;
119
import org.hibernate.mapping.ForeignKey;
@@ -200,8 +198,7 @@ protected void checkDefaultJoinTablAndJoinColumnNames(
200198
}
201199
boolean hasOwnerFK = false;
202200
boolean hasInverseFK = false;
203-
for (Iterator it = ownerCollection.getCollectionTable().getForeignKeys().values().iterator(); it.hasNext(); ) {
204-
final ForeignKey fk = (ForeignKey) it.next();
201+
for ( final ForeignKey fk : ownerCollection.getCollectionTable().getForeignKeyCollection() ) {
205202
assertSame( ownerCollection.getCollectionTable(), fk.getTable() );
206203
if ( fk.getColumnSpan() > 1 ) {
207204
continue;
@@ -210,7 +207,7 @@ protected void checkDefaultJoinTablAndJoinColumnNames(
210207
assertSame( ownerCollection.getOwner().getTable(), fk.getReferencedTable() );
211208
hasOwnerFK = true;
212209
}
213-
else if ( fk.getColumn( 0 ).getText().equals( inverseForeignKeyNameExpected ) ) {
210+
else if ( fk.getColumn( 0 ).getText().equals( inverseForeignKeyNameExpected ) ) {
214211
assertSame( associatedPersistentClass.getTable(), fk.getReferencedTable() );
215212
hasInverseFK = true;
216213
}

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/namingstrategy/LongKeyNamingStrategyTest.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import org.hibernate.boot.Metadata;
1717
import org.hibernate.boot.MetadataSources;
1818
import org.hibernate.cfg.Environment;
19-
import org.hibernate.mapping.UniqueKey;
2019
import org.hibernate.service.ServiceRegistry;
2120

2221
import org.hibernate.testing.ServiceRegistryBuilder;
@@ -58,14 +57,13 @@ public void testWithCustomNamingStrategy() throws Exception {
5857
.applyImplicitNamingStrategy( new LongIdentifierNamingStrategy() )
5958
.build();
6059

61-
org.hibernate.mapping.ForeignKey foreignKey =
62-
(org.hibernate.mapping.ForeignKey) metadata.getEntityBinding(Address.class.getName()).getTable().getForeignKeys().values().iterator().next();
60+
var foreignKey = metadata.getEntityBinding(Address.class.getName()).getTable().getForeignKeyCollection().iterator().next();
6361
assertEquals( "FK_way_longer_than_the_30_char", foreignKey.getName() );
6462

65-
UniqueKey uniqueKey = metadata.getEntityBinding(Address.class.getName()).getTable().getUniqueKeys().values().iterator().next();
63+
var uniqueKey = metadata.getEntityBinding(Address.class.getName()).getTable().getUniqueKeys().values().iterator().next();
6664
assertEquals( "UK_way_longer_than_the_30_char", uniqueKey.getName() );
6765

68-
org.hibernate.mapping.Index index = metadata.getEntityBinding(Address.class.getName()).getTable().getIndexes().values().iterator().next();
66+
var index = metadata.getEntityBinding(Address.class.getName()).getTable().getIndexes().values().iterator().next();
6967
assertEquals( "IDX_way_longer_than_the_30_cha", index.getName() );
7068
}
7169

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/namingstrategy/charset/AbstractCharsetNamingStrategyTest.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import org.hibernate.cfg.AvailableSettings;
1818
import org.hibernate.cfg.Environment;
1919
import org.hibernate.internal.util.PropertiesHelper;
20-
import org.hibernate.mapping.UniqueKey;
2120
import org.hibernate.service.ServiceRegistry;
2221

2322
import org.hibernate.testing.ServiceRegistryBuilder;
@@ -62,14 +61,13 @@ public void testWithCustomNamingStrategy() throws Exception {
6261
.applyImplicitNamingStrategy( new LongIdentifierNamingStrategy() )
6362
.build();
6463

65-
UniqueKey uniqueKey = metadata.getEntityBinding(Address.class.getName()).getTable().getUniqueKeys().values().iterator().next();
64+
var uniqueKey = metadata.getEntityBinding(Address.class.getName()).getTable().getUniqueKeys().values().iterator().next();
6665
assertEquals( expectedUniqueKeyName(), uniqueKey.getName() );
6766

68-
org.hibernate.mapping.ForeignKey foreignKey =
69-
(org.hibernate.mapping.ForeignKey) metadata.getEntityBinding(Address.class.getName()).getTable().getForeignKeys().values().iterator().next();
67+
var foreignKey = metadata.getEntityBinding(Address.class.getName()).getTable().getForeignKeyCollection().iterator().next();
7068
assertEquals( expectedForeignKeyName(), foreignKey.getName() );
7169

72-
org.hibernate.mapping.Index index = metadata.getEntityBinding(Address.class.getName()).getTable().getIndexes().values().iterator().next();
70+
var index = metadata.getEntityBinding(Address.class.getName()).getTable().getIndexes().values().iterator().next();
7371
assertEquals( expectedIndexName(), index.getName() );
7472
}
7573

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/onetoone/OverrideOneToOneJoinColumnTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public void allowIfJoinColumnIsAbsent() {
5252

5353
final Table personTable = metadata.getDatabase().getDefaultNamespace().locateTable(
5454
Identifier.toIdentifier( "PERSON_TABLE" ) );
55-
final Collection<ForeignKey> foreignKeys = personTable.getForeignKeys().values();
55+
final Collection<ForeignKey> foreignKeys = personTable.getForeignKeyCollection();
5656
assertThat( foreignKeys.size(), is( 1 ) );
5757
final Optional<ForeignKey> foreignKey = foreignKeys.stream().findFirst();
5858

hibernate-core/src/test/java/org/hibernate/orm/test/constraint/ConstraintTest.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*/
55
package org.hibernate.orm.test.constraint;
66

7-
import java.util.Iterator;
87
import jakarta.persistence.Entity;
98
import jakarta.persistence.GeneratedValue;
109
import jakarta.persistence.Id;
@@ -69,35 +68,31 @@ public void testConstraintNameLength() {
6968
int foundCount = 0;
7069
for ( Namespace namespace : metadata().getDatabase().getNamespaces() ) {
7170
for ( org.hibernate.mapping.Table table : namespace.getTables() ) {
72-
Iterator fkItr = table.getForeignKeys().values().iterator();
73-
while (fkItr.hasNext()) {
74-
ForeignKey fk = (ForeignKey) fkItr.next();
71+
for ( ForeignKey fk : table.getForeignKeyCollection() ) {
7572
assertTrue( fk.getName().length() <= MAX_NAME_LENGTH );
7673

7774
// ensure the randomly generated constraint name doesn't
7875
// happen if explicitly given
7976
Column column = fk.getColumn( 0 );
8077
if ( column.getName().equals( "explicit_native" ) ) {
8178
foundCount++;
82-
assertEquals( fk.getName(), EXPLICIT_FK_NAME_NATIVE );
79+
assertEquals( EXPLICIT_FK_NAME_NATIVE, fk.getName() );
8380
}
8481
else if ( column.getName().equals( "explicit_jpa" ) ) {
8582
foundCount++;
86-
assertEquals( fk.getName(), EXPLICIT_FK_NAME_JPA );
83+
assertEquals( EXPLICIT_FK_NAME_JPA, fk.getName() );
8784
}
8885
}
8986

90-
Iterator ukItr = table.getUniqueKeys().values().iterator();
91-
while (ukItr.hasNext()) {
92-
UniqueKey uk = (UniqueKey) ukItr.next();
87+
for ( UniqueKey uk : table.getUniqueKeys().values() ) {
9388
assertTrue( uk.getName().length() <= MAX_NAME_LENGTH );
9489

9590
// ensure the randomly generated constraint name doesn't
9691
// happen if explicitly given
9792
Column column = uk.getColumn( 0 );
9893
if ( column.getName().equals( "explicit" ) ) {
9994
foundCount++;
100-
assertEquals( uk.getName(), EXPLICIT_UK_NAME );
95+
assertEquals( EXPLICIT_UK_NAME, uk.getName() );
10196
}
10297
}
10398
}

hibernate-core/src/test/java/org/hibernate/orm/test/constraint/ForeignKeyConstraintMapsIdTest.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*/
55
package org.hibernate.orm.test.constraint;
66

7-
import java.util.Iterator;
87
import jakarta.persistence.Entity;
98
import jakarta.persistence.FetchType;
109
import jakarta.persistence.ForeignKey;
@@ -88,9 +87,7 @@ public void testForeignKeyNameSetForMapsIdJoinColumn() {
8887
for ( Namespace namespace : metadata().getDatabase().getNamespaces() ) {
8988
for ( Table table : namespace.getTables() ) {
9089
if ( table.getName().equals( "Post" ) ) {
91-
Iterator<org.hibernate.mapping.ForeignKey> foreignKeyIterator = table.getForeignKeys().values().iterator();
92-
while ( foreignKeyIterator.hasNext() ) {
93-
org.hibernate.mapping.ForeignKey foreignKey = foreignKeyIterator.next();
90+
for ( var foreignKey : table.getForeignKeyCollection() ) {
9491
if ( foreignKey.getColumn( 0 ).getName().equals( "PD_ID" ) ) {
9592
assertEquals( "FK_PD", foreignKey.getName() );
9693
return;

0 commit comments

Comments
 (0)