Skip to content

Commit e9d3ce0

Browse files
committed
HHH-18321 Avoid search for table group when possible for paths
1 parent f977dc3 commit e9d3ce0

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/MappingMetamodelImpl.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import org.hibernate.metamodel.mapping.MappingModelExpressible;
4848
import org.hibernate.metamodel.mapping.internal.MappingModelCreationProcess;
4949
import org.hibernate.metamodel.model.domain.BasicDomainType;
50+
import org.hibernate.metamodel.model.domain.DomainType;
5051
import org.hibernate.metamodel.model.domain.EmbeddableDomainType;
5152
import org.hibernate.metamodel.model.domain.EntityDomainType;
5253
import org.hibernate.metamodel.model.domain.ManagedDomainType;
@@ -791,8 +792,12 @@ private String[] doGetImplementors(Class<?> clazz) throws MappingException {
791792
public MappingModelExpressible<?> resolveMappingExpressible(
792793
SqmExpressible<?> sqmExpressible,
793794
Function<NavigablePath, TableGroup> tableGroupLocator) {
794-
if ( sqmExpressible instanceof SqmPath ) {
795+
if ( sqmExpressible instanceof SqmPath<?> ) {
795796
final SqmPath<?> sqmPath = (SqmPath<?>) sqmExpressible;
797+
final DomainType<?> sqmPathType = sqmPath.getResolvedModel().getSqmPathType();
798+
if ( sqmPathType instanceof MappingModelExpressible<?> ) {
799+
return (MappingModelExpressible<?>) sqmPathType;
800+
}
796801
final NavigablePath navigablePath = sqmPath.getNavigablePath();
797802
if ( navigablePath.getParent() != null ) {
798803
final TableGroup parentTableGroup = tableGroupLocator.apply( navigablePath.getParent() );

0 commit comments

Comments
 (0)