Inconsistent "SELECT 1" versus "SELECT ?1" with result type Object[]
Description
Activity
Show:
Čedomir Igaly August 2, 2024 at 5:23 AM
I am not sure that suggested solution is really good one, so I’ve closed PR.
Čedomir Igaly August 1, 2024 at 3:49 PM
Created draft pull request #8744 with suggested solution
Čedomir Igaly August 1, 2024 at 3:41 PM
In org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan#determineRowTransformer
:
when selection is parameter isSelectionAssignableToResultType
is returning true on first check and singular returned transformer is returned. When selection is numeric isSelectionAssignableToResultType
is returning false and array row transformer is returned.
Suggested change is
Fixed
Details
Details
Assignee
Reporter

Components
Sprint
None
Fix versions
Priority
Created July 31, 2024 at 8:43 AM
Updated November 7, 2024 at 6:03 PM
Resolved October 4, 2024 at 2:38 PM
Hi,
As discussed in ,
createSelectionQuery("SELECT ?1", Object[].class)
does not return an array but only the selected value itself. The same problem happens with named parameters.Here is a reproducer for this bug. Note in particular that casting the parameter in the HQL works as expected.