{"record":{"id":"9d8d6494447243d4","repo":"hibernate/hibernate-orm","slug":"incorrect-query-result-type-query-produces-s-b-9d8d64","errorCode":null,"errorMessage":"Incorrect query result type: query produces '%s' but type '%s' was given","messagePattern":"Incorrect query result type: query produces '(.+?)' but type '(.+?)' was given","errorType":"exception","errorClass":"QueryTypeMismatchException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/query/named/internal/CriteriaSelectionMementoImpl.java","lineNumber":143,"sourceCode":"\n\t@Nonnull\n\t@Override\n\tpublic <T> SelectionQueryImplementor<T> toSelectionQuery(@Nonnull SharedSessionContractImplementor session, @Nullable Class<T> javaType) {\n\t\tcheckResultType( javaType, selectAst );\n\t\t//noinspection rawtypes,unchecked\n\t\treturn new SelectionQueryImpl( this, selectAst, javaType, session );\n\t}\n\n\tprivate static <T> void checkResultType(\n\t\t\t@Nullable Class<T> resultType,\n\t\t\t@Nonnull SqmSelectStatement<?> selectStatement) {\n\t\tif ( resultType == null ) {\n\t\t\treturn;\n\t\t}\n\t\tfinal Class<?> expectedResultType = selectStatement.getResultType();\n\t\tif ( expectedResultType != Object.class\n\t\t\t&& !resultType.isAssignableFrom( expectedResultType ) ) {\n\t\t\tthrow new QueryTypeMismatchException(\n\t\t\t\t\tString.format(\n\t\t\t\t\t\t\tLocale.ROOT,\n\t\t\t\t\t\t\t\"Incorrect query result type: query produces '%s' but type '%s' was given\",\n\t\t\t\t\t\t\texpectedResultType.getName(),\n\t\t\t\t\t\t\tresultType.getName()\n\t\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n\n}\n","sourceCodeStart":125,"sourceCodeEnd":155,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/query/named/internal/CriteriaSelectionMementoImpl.java#L125-L155","documentation":"Error \"Incorrect query result type: query produces '%s' but type '%s' was given\" thrown in hibernate/hibernate-orm.","triggerScenarios":"The requested result type does not match what the query produces: Incorrect query result type: query produces '<value>' but type '<value>' was given","commonSituations":"Creating a typed query whose result class differs from the query root/select item type, or passing a result type for a non-select statement.","solutions":["The query's actual result type differs from the requested type. Pass the correct result class, or adjust the query's select list."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fad1729dce015f908198d57a8d80274a30f905a5","analyzedAt":"2026-08-22T04:13:57.527Z","schemaVersion":2},"datasetVersion":"2026-08-22T09:17:25.309Z"}