From f66728d5b25f30bde4f41468bb2a6e4f57793d31 Mon Sep 17 00:00:00 2001 From: Christian Beikov Date: Wed, 29 Jan 2020 00:20:45 +0100 Subject: [PATCH] Fix plural join alias de-reference --- .../internal/PluralAttributeMappingImpl.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/PluralAttributeMappingImpl.java b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/PluralAttributeMappingImpl.java index bd59ed1c38..28dc9f41c0 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/PluralAttributeMappingImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/mapping/internal/PluralAttributeMappingImpl.java @@ -6,10 +6,6 @@ */ package org.hibernate.metamodel.mapping.internal; -import java.util.function.BiFunction; -import java.util.function.Consumer; -import java.util.function.Supplier; - import org.hibernate.LockMode; import org.hibernate.NotYetImplementedFor6Exception; import org.hibernate.engine.FetchStrategy; @@ -31,8 +27,8 @@ import org.hibernate.metamodel.mapping.ModelPart; import org.hibernate.metamodel.mapping.PluralAttributeMapping; import org.hibernate.metamodel.mapping.StateArrayContributorMetadataAccess; -import org.hibernate.metamodel.mapping.ordering.OrderByFragmentTranslator; import org.hibernate.metamodel.mapping.ordering.OrderByFragment; +import org.hibernate.metamodel.mapping.ordering.OrderByFragmentTranslator; import org.hibernate.metamodel.mapping.ordering.TranslationContext; import org.hibernate.persister.collection.CollectionPersister; import org.hibernate.persister.entity.EntityPersister; @@ -61,9 +57,12 @@ import org.hibernate.sql.results.graph.collection.internal.EagerCollectionFetch; import org.hibernate.type.EntityType; import org.hibernate.type.ForeignKeyDirection; - import org.jboss.logging.Logger; +import java.util.function.BiFunction; +import java.util.function.Consumer; +import java.util.function.Supplier; + /** * @author Steve Ebersole */ @@ -714,6 +713,9 @@ else if ( nature == CollectionPart.Nature.ID ) { return identifierDescriptor; } + if ( elementDescriptor instanceof EntityCollectionPart ) { + return ( (EntityCollectionPart) elementDescriptor ).findSubPart(name); + } return null; }