{"record":{"id":"302f6657e57c7ec5","repo":"hibernate/hibernate-orm","slug":"cannot-convert-a-native-query-to-a-typed-query","errorCode":null,"errorMessage":"Cannot convert a native query to a typed query","messagePattern":"Cannot convert a native query to a typed query","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/query/sql/internal/NativeQueryImpl.java","lineNumber":858,"sourceCode":"\t@Override\n\t@Nonnull\n\tpublic MutationQuery asStatement() {\n\t\ttry {\n\t\t\treturn asMutationQuery();\n\t\t}\n\t\tcatch (IllegalMutationQueryException e) {\n\t\t\tthrow new IllegalStateException( \"Cannot convert a native query to a statement\", e );\n\t\t}\n\t}\n\n\t@Override\n\t@Nonnull\n\tpublic <T> SelectionQuery<T> ofType(@Nonnull Class<T> resultType) {\n\t\ttry {\n\t\t\treturn asSelectionQuery( resultType );\n\t\t}\n\t\tcatch (IllegalSelectQueryException e) {\n\t\t\tthrow new IllegalStateException( \"Cannot convert a native query to a typed query\", e );\n\t\t}\n\t}\n\n\t@Override\n\t@Nonnull\n\tpublic <T> SelectionQuery<T> withEntityGraph(@Nonnull EntityGraph<T> graph) {\n\t\tthrow new IllegalSelectQueryException( \"Not a HQL query\", getQueryString() );\n\t}\n\n\t@Override\n\t@Nonnull\n\tpublic <T> SelectionQueryImplementor<T> withResultSetMapping(\n\t\t\t@Nonnull jakarta.persistence.sql.ResultSetMapping<T> mapping) {\n\t\terrorIfNotSelectForSure();\n\t\tfinal var query = new NativeQueryImpl<>( this, mapping );\n\t\tquery.applyEntityMappingLockMode( mapping );\n\t\treturn query;\n\t}","sourceCodeStart":840,"sourceCodeEnd":876,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/query/sql/internal/NativeQueryImpl.java#L840-L876","documentation":"Error \"Cannot convert a native query to a typed query\" thrown in hibernate/hibernate-orm.","triggerScenarios":"An API operation is invoked on a query object that does not support it.","commonSituations":"Calling query hint, locking, pagination, conversion, or mutation APIs on a query kind (native vs HQL, select vs mutation) that does not implement them.","solutions":["A native query cannot be converted to a JPA TypedQuery.","Use createNativeQuery(sql, ResultClass) or rewrite in HQL with createQuery(hql, ResultClass)."],"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"}