hibernate/hibernate-orm · error · IllegalMutationQueryException
SelectionQuery cannot be treated as a MutationQuery
Error message
SelectionQuery cannot be treated as a MutationQuery
What it means
Error "SelectionQuery cannot be treated as a MutationQuery" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/query/spi/SelectionQueryImplementor.java:353
@Nonnull
SelectionQueryImplementor<R> setParameter(int position, @Nullable Calendar value, @Nonnull TemporalType temporalType);
@Override @Deprecated
@Nonnull
SelectionQueryImplementor<R> setParameter(@Nonnull Parameter<Calendar> param, @Nullable Calendar value, @Nonnull TemporalType temporalType);
@Override @Deprecated
@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. Create an update/delete/insert query for mutations.
When it happens
Trigger: A selection-only operation is invoked on a mutation (insert/update/delete) query: SelectionQuery cannot be treated as a MutationQuery
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/d2322674724ecdcf.
Report an issue: GitHub.