{"record":{"id":"d2322674724ecdcf","repo":"hibernate/hibernate-orm","slug":"selectionquery-cannot-be-treated-as-a-mutationquer","errorCode":null,"errorMessage":"SelectionQuery cannot be treated as a MutationQuery","messagePattern":"SelectionQuery cannot be treated as a MutationQuery","errorType":"exception","errorClass":"IllegalMutationQueryException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/query/spi/SelectionQueryImplementor.java","lineNumber":353,"sourceCode":"\t@Nonnull\n\tSelectionQueryImplementor<R> setParameter(int position, @Nullable Calendar value, @Nonnull TemporalType temporalType);\n\n\t@Override @Deprecated\n\t@Nonnull\n\tSelectionQueryImplementor<R> setParameter(@Nonnull Parameter<Calendar> param, @Nullable Calendar value, @Nonnull TemporalType temporalType);\n\n\t@Override @Deprecated\n\t@Nonnull\n\tSelectionQueryImplementor<R> setParameter(@Nonnull Parameter<Date> param, @Nullable Date value, @Nonnull TemporalType temporalType);\n\n\n\t// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\t// MutationQuery Handling\n\n\t@Override\n\t@Nonnull\n\tdefault MutationQueryImplementor<R> asMutationQuery() {\n\t\tthrow new IllegalMutationQueryException( \"SelectionQuery cannot be treated as a MutationQuery\", getQueryString() );\n\t}\n\n\t@Override\n\t@Deprecated\n\t@SuppressWarnings(\"removal\")\n\tdefault int executeUpdate() {\n\t\t// per JPA, again, needs to be IllegalStateException\n\t\tthrow new IllegalStateException( \"SelectionQuery cannot be treated as a MutationQuery - \" + getQueryString() );\n\t}\n}\n","sourceCodeStart":335,"sourceCodeEnd":364,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/query/spi/SelectionQueryImplementor.java#L335-L364","documentation":"Error \"SelectionQuery cannot be treated as a MutationQuery\" thrown in hibernate/hibernate-orm.","triggerScenarios":"A selection-only operation is invoked on a mutation (insert/update/delete) query: SelectionQuery cannot be treated as a MutationQuery","commonSituations":"Calling getResultList()/scroll()/unwrap(SelectionQuery) on a Query created from an update/delete/insert HQL statement, or vice versa.","solutions":["A SelectionQuery cannot be treated as a MutationQuery. Create an update/delete/insert query for mutations."],"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"}