Skip to content

Commit 758a660

Browse files
mbelladebeikov
authored andcommitted
HHH-18007 Use correct expressible when checking query result type
1 parent e036509 commit 758a660

File tree

4 files changed

+8
-3
lines changed

4 files changed

+8
-3
lines changed

hibernate-core/src/main/java/org/hibernate/query/spi/AbstractSelectionQuery.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ protected static <T> void checkQueryReturnType(
317317
}
318318

319319
if ( !sessionFactory.getSessionFactoryOptions().getJpaCompliance().isJpaQueryComplianceEnabled() ) {
320-
verifyResultType( expectedResultClass, sqmSelection.getNodeType() );
320+
verifyResultType( expectedResultClass, sqmSelection.getExpressible() );
321321
}
322322
}
323323
// else, let's assume we can instantiate it!

hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmBasicValuedSimplePath.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ public Class<T> getJavaType() {
175175

176176
@Override
177177
public JavaType<T> getExpressibleJavaType() {
178-
return getJavaTypeDescriptor();
178+
return super.getExpressible().getExpressibleJavaType();
179179
}
180180

181181
@Override

hibernate-core/src/main/java/org/hibernate/query/sqm/tree/domain/SqmEmbeddedValuedSimplePath.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public <S extends T> SqmTreatedPath<T, S> treatAs(EntityDomainType<S> treatTarge
109109

110110
@Override
111111
public JavaType<T> getExpressibleJavaType() {
112-
return getJavaTypeDescriptor();
112+
return super.getExpressible().getExpressibleJavaType();
113113
}
114114

115115
@Override

hibernate-core/src/main/java/org/hibernate/query/sqm/tree/select/SqmAliasedNode.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,9 @@ public interface SqmAliasedNode<T> extends SqmTypedNode<T> {
3030
default SqmExpressible<T> getNodeType() {
3131
return getSelectableNode().getNodeType();
3232
}
33+
34+
@Override
35+
default SqmExpressible<T> getExpressible() {
36+
return getSelectableNode().getExpressible();
37+
}
3338
}

0 commit comments

Comments
 (0)