diff --git a/hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/MappedSuperclassSqmPathSource.java b/hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/MappedSuperclassSqmPathSource.java index 72618e8063..935edcf4ec 100644 --- a/hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/MappedSuperclassSqmPathSource.java +++ b/hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/MappedSuperclassSqmPathSource.java @@ -20,12 +20,16 @@ * @author Steve Ebersole */ public class MappedSuperclassSqmPathSource extends AbstractSqmPathSource implements SqmJoinable { + private final boolean isGeneric; + public MappedSuperclassSqmPathSource( String localPathName, SqmPathSource pathModel, MappedSuperclassDomainType domainType, - BindableType jpaBindableType) { + BindableType jpaBindableType, + boolean isGeneric) { super( localPathName, pathModel, domainType, jpaBindableType ); + this.isGeneric = isGeneric; } @Override @@ -39,6 +43,11 @@ public SqmPathSource findSubPathSource(String name) { return sqmPathType.findSubPathSource( name ); } + @Override + public boolean isGeneric() { + return isGeneric; + } + @Override public SqmPath createSqmPath(SqmPath lhs, SqmPathSource intermediatePathSource) { return new SqmEntityValuedSimplePath<>( diff --git a/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmMappingModelHelper.java b/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmMappingModelHelper.java index 3cba29a38d..1515767942 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmMappingModelHelper.java +++ b/hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmMappingModelHelper.java @@ -147,7 +147,8 @@ public static SqmPathSource resolveSqmPathSource( name, pathModel, (MappedSuperclassDomainType) valueDomainType, - jpaBindableType + jpaBindableType, + isGeneric ); }