hibernate/hibernate-orm · error · IllegalStateException
Delete query cannot perform assignment
Error message
Delete query cannot perform assignment
What it means
Error "Delete query cannot perform assignment" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/query/specification/internal/UpdateSpecificationImpl.java:40
implements UpdateSpecification<T> {
public UpdateSpecificationImpl(@Nonnull Class<T> mutationTarget) {
super( MutationType.UPDATE, mutationTarget );
}
public UpdateSpecificationImpl(@Nonnull CriteriaUpdate<T> criteriaQuery) {
super( criteriaQuery );
}
@Nonnull
@Override
public UpdateSpecification<T> assign(@Nonnull Assignment<? super T> assignment) {
specifications.add( (sqmStatement, mutationTargetRoot) -> {
if ( sqmStatement instanceof SqmUpdateStatement<T> sqmUpdateStatement ) {
assignment.apply( sqmUpdateStatement );
}
else {
throw new IllegalStateException( "Delete query cannot perform assignment" );
}
} );
return this;
}
@Nonnull
@Override
public UpdateSpecification<T> reassign(@Nonnull List<? extends Assignment<? super T>> assignments) {
specifications.add( (sqmStatement, mutationTargetRoot) -> {
if ( sqmStatement instanceof SqmUpdateStatement<T> sqmUpdateStatement ) {
final var setClause = sqmUpdateStatement.getSetClause();
if ( setClause != null ) {
setClause.clearAssignments();
}
assignments.forEach( assignment -> assignment.apply( sqmUpdateStatement ) );
}
else {
throw new IllegalStateException( "Delete query cannot perform assignment" );View on GitHub (pinned to fad1729dce)
Solutions
- A delete specification cannot perform assignments. Use an update specification for assignments.
When it happens
Trigger: An assignment is added to a delete Specification: Delete query cannot perform assignment
Common situations: Calling set()/assignment on an UpdateSpecification that targets a delete statement.
AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22).
Data as JSON: /api/errors/3f4644c26e2c7c05.
Report an issue: GitHub.