Skip to content

Commit eb9578c

Browse files
committed
use getRepeatedAnnotationUsages() since we have it now
1 parent ecd7a91 commit eb9578c

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

hibernate-core/src/main/java/org/hibernate/boot/model/internal/EntityBinder.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
5151
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
5252
import org.hibernate.internal.CoreMessageLogger;
5353
import org.hibernate.internal.util.StringHelper;
54-
import org.hibernate.internal.util.collections.ArrayHelper;
5554
import org.hibernate.jdbc.Expectation;
5655
import org.hibernate.mapping.BasicValue;
5756
import org.hibernate.mapping.CheckConstraint;
@@ -106,6 +105,8 @@
106105
import static org.hibernate.boot.model.internal.PropertyBinder.hasIdAnnotation;
107106
import static org.hibernate.boot.model.internal.PropertyBinder.processElementAnnotations;
108107
import static org.hibernate.boot.model.internal.PropertyHolderBuilder.buildPropertyHolder;
108+
import static org.hibernate.boot.model.internal.QueryBinder.bindNativeQuery;
109+
import static org.hibernate.boot.model.internal.QueryBinder.bindQuery;
109110
import static org.hibernate.boot.model.internal.TableBinder.bindForeignKey;
110111
import static org.hibernate.boot.model.naming.Identifier.toIdentifier;
111112
import static org.hibernate.engine.OptimisticLockStyle.fromLockType;
@@ -342,8 +343,7 @@ private void addCheckToEntity(Check check) {
342343
}
343344

344345
private void callTypeBinders(PersistentClass persistentClass) {
345-
final var metaAnnotatedList = annotatedClass.getMetaAnnotated( TypeBinderType.class, modelsContext() );
346-
for ( var metaAnnotated : metaAnnotatedList ) {
346+
for ( var metaAnnotated : annotatedClass.getMetaAnnotated( TypeBinderType.class, modelsContext() ) ) {
347347
applyTypeBinder( metaAnnotated, persistentClass );
348348
}
349349
}
@@ -1157,13 +1157,14 @@ private static AnnotatedJoinColumns subclassJoinColumns(
11571157
//@Inheritance(JOINED) subclass need to link back to the super entity
11581158
final var joinColumns = new AnnotatedJoinColumns();
11591159
joinColumns.setBuildingContext( context );
1160-
11611160
final var modelsContext = context.getBootstrapContext().getModelsContext();
1162-
final var primaryKeyJoinColumns =
1163-
clazzToProcess.getAnnotationUsage( PrimaryKeyJoinColumns.class, modelsContext );
1164-
if ( primaryKeyJoinColumns != null
1165-
&& !ArrayHelper.isEmpty( primaryKeyJoinColumns.value() ) ) {
1166-
for ( var column : primaryKeyJoinColumns.value() ) {
1161+
if ( clazzToProcess.hasAnnotationUsage( PrimaryKeyJoinColumn.class, modelsContext ) ) {
1162+
final var columns = clazzToProcess.getRepeatedAnnotationUsages( PrimaryKeyJoinColumn.class, modelsContext );
1163+
if ( columns.length == 0 ) {
1164+
// PrimaryKeyJoinColumns must not be empty according to Javadoc
1165+
throw new AnnotationException( "Empty '@PrimaryKeyJoinColumns' annotation" );
1166+
}
1167+
for ( var column : columns ) {
11671168
buildInheritanceJoinColumn(
11681169
column,
11691170
null,
@@ -1175,7 +1176,7 @@ private static AnnotatedJoinColumns subclassJoinColumns(
11751176
}
11761177
else {
11771178
buildInheritanceJoinColumn(
1178-
clazzToProcess.getAnnotationUsage( PrimaryKeyJoinColumn.class, modelsContext ),
1179+
null,
11791180
null,
11801181
superEntity.getIdentifier(),
11811182
joinColumns,
@@ -1424,14 +1425,14 @@ private void bindCustomSql() {
14241425
if ( sqlSelect != null ) {
14251426
final String loaderName = persistentClass.getEntityName() + "$SQLSelect";
14261427
persistentClass.setLoaderName( loaderName );
1427-
QueryBinder.bindNativeQuery( loaderName, sqlSelect, annotatedClass, context );
1428+
bindNativeQuery( loaderName, sqlSelect, annotatedClass, context );
14281429
}
14291430

14301431
final var hqlSelect = annotatedClass.getAnnotationUsage( HQLSelect.class, modelsContext() );
14311432
if ( hqlSelect != null ) {
14321433
final String loaderName = persistentClass.getEntityName() + "$HQLSelect";
14331434
persistentClass.setLoaderName( loaderName );
1434-
QueryBinder.bindQuery( loaderName, hqlSelect, context );
1435+
bindQuery( loaderName, hqlSelect, context );
14351436
}
14361437
}
14371438

0 commit comments

Comments
 (0)