From 0fd83cf649f78f67a282a90177e2f92d6415e0ec Mon Sep 17 00:00:00 2001 From: Andrea Boriero Date: Mon, 29 Nov 2021 18:37:03 +0100 Subject: [PATCH] Fix resolving id columns for NativeQuery with inplicit joins and aliases --- .../query/results/DomainResultCreationStateImpl.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/query/results/DomainResultCreationStateImpl.java b/hibernate-core/src/main/java/org/hibernate/query/results/DomainResultCreationStateImpl.java index 40d2dc3b61..5d354cf1d4 100644 --- a/hibernate-core/src/main/java/org/hibernate/query/results/DomainResultCreationStateImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/query/results/DomainResultCreationStateImpl.java @@ -345,9 +345,14 @@ public List visitFetches(FetchParent fetchParent) { relativePathStack.push( relativePath ); } try { - final FetchBuilder explicitFetchBuilder = fetchBuilderResolverStack + String fullPath = relativePath.getFullPath(); + if ( fullPath.contains( EntityIdentifierMapping.ROLE_LOCAL_NAME ) ) { + fullPath = fullPath.replace( EntityIdentifierMapping.ROLE_LOCAL_NAME + ".", "" ); + } + FetchBuilder explicitFetchBuilder = fetchBuilderResolverStack .getCurrent() - .apply( relativePath.getFullPath() ); + .apply( fullPath ); + final FetchBuilder fetchBuilder; if ( explicitFetchBuilder != null ) { fetchBuilder = explicitFetchBuilder;