{"record":{"id":"3f4644c26e2c7c05","repo":"hibernate/hibernate-orm","slug":"delete-query-cannot-perform-assignment","errorCode":null,"errorMessage":"Delete query cannot perform assignment","messagePattern":"Delete query cannot perform assignment","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/query/specification/internal/UpdateSpecificationImpl.java","lineNumber":40,"sourceCode":"\t\timplements UpdateSpecification<T> {\n\n\tpublic UpdateSpecificationImpl(@Nonnull Class<T> mutationTarget) {\n\t\tsuper( MutationType.UPDATE, mutationTarget );\n\t}\n\n\tpublic UpdateSpecificationImpl(@Nonnull CriteriaUpdate<T> criteriaQuery) {\n\t\tsuper( criteriaQuery );\n\t}\n\n\t@Nonnull\n\t@Override\n\tpublic UpdateSpecification<T> assign(@Nonnull Assignment<? super T> assignment) {\n\t\tspecifications.add( (sqmStatement, mutationTargetRoot) -> {\n\t\t\tif ( sqmStatement instanceof SqmUpdateStatement<T> sqmUpdateStatement ) {\n\t\t\t\tassignment.apply( sqmUpdateStatement );\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new IllegalStateException( \"Delete query cannot perform assignment\" );\n\t\t\t}\n\t\t} );\n\t\treturn this;\n\t}\n\n\t@Nonnull\n\t@Override\n\tpublic UpdateSpecification<T> reassign(@Nonnull List<? extends Assignment<? super T>> assignments) {\n\t\tspecifications.add( (sqmStatement, mutationTargetRoot) -> {\n\t\t\tif ( sqmStatement instanceof SqmUpdateStatement<T> sqmUpdateStatement ) {\n\t\t\t\tfinal var setClause = sqmUpdateStatement.getSetClause();\n\t\t\t\tif ( setClause != null ) {\n\t\t\t\t\tsetClause.clearAssignments();\n\t\t\t\t}\n\t\t\t\tassignments.forEach( assignment -> assignment.apply( sqmUpdateStatement ) );\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new IllegalStateException( \"Delete query cannot perform assignment\" );","sourceCodeStart":22,"sourceCodeEnd":58,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/query/specification/internal/UpdateSpecificationImpl.java#L22-L58","documentation":"Error \"Delete query cannot perform assignment\" thrown in hibernate/hibernate-orm.","triggerScenarios":"An assignment is added to a delete Specification: Delete query cannot perform assignment","commonSituations":"Calling set()/assignment on an UpdateSpecification that targets a delete statement.","solutions":["A delete specification cannot perform assignments. Use an update specification for assignments."],"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"}