hibernate/hibernate-orm · error · IllegalStateException
SelectionQuery cannot be treated as a MutationQuery - ${quer
Error message
SelectionQuery cannot be treated as a MutationQuery - ${queryString} What it means
Error "SelectionQuery cannot be treated as a MutationQuery - ${queryString}" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/query/spi/SelectionQueryImplementor.java:361
@Nonnull
SelectionQueryImplementor<R> setParameter(@Nonnull Parameter<Date> param, @Nullable Date value, @Nonnull TemporalType temporalType);
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// MutationQuery Handling
@Override
@Nonnull
default MutationQueryImplementor<R> asMutationQuery() {
throw new IllegalMutationQueryException( "SelectionQuery cannot be treated as a MutationQuery", getQueryString() );
}
@Override
@Deprecated
@SuppressWarnings("removal")
default int executeUpdate() {
// per JPA, again, needs to be IllegalStateException
throw new IllegalStateException( "SelectionQuery cannot be treated as a MutationQuery - " + getQueryString() );
}
}
View on GitHub (pinned to fad1729dce)
Solutions
- A SelectionQuery cannot be treated as a MutationQuery for the given statement. Use a mutation query instead.
When it happens
Trigger: A selection-only operation is invoked on a mutation (insert/update/delete) query: SelectionQuery cannot be treated as a MutationQuery - $<value>
Common situations: Calling getResultList()/scroll()/unwrap(SelectionQuery) on a Query created from an update/delete/insert HQL statement, or vice versa.
AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22).
Data as JSON: /api/errors/dc5c2c715475919b.
Report an issue: GitHub.