hibernate/hibernate-orm · error · UnsupportedOperationException

native queries do not support key-based pagination

Error message

native queries do not support key-based pagination

What it means

Error "native queries do not support key-based pagination" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/query/sql/internal/NativeQueryImpl.java:1111

	}

	@Override
	public int execute() {
		return executeMutation( this::doExecute );
	}

	private int doExecute() {
		return resolveNonSelectQueryPlan().executeUpdate( this );
	}

	@Override @SuppressWarnings("removal")
	public int executeUpdate() {
		return execute();
	}

	@Override
	public KeyedResultList<R> getKeyedResultList(KeyedPage<R> page) {
		throw new UnsupportedOperationException("native queries do not support key-based pagination");
	}

	protected SelectQueryPlan<R> resolveSelectQueryPlan() {
		final var mapping = resultSetMapping();
		checkResultType( resultType, mapping );
		final int parameterStartPosition = parameterStartPosition();
		if ( isCacheableQuery() ) {
			return getInterpretationCache().resolveSelectQueryPlan(
					selectInterpretationsKey( mapping, parameterStartPosition ),
					key -> createQueryPlan( key.getResultSetMapping(), key.getStartPosition() )
			);
		}
		else {
			return createQueryPlan( mapping, parameterStartPosition );
		}
	}

	private int parameterStartPosition() {

View on GitHub (pinned to fad1729dce)

Solutions

  1. Key-based pagination (KeyedResultList) is not supported for native queries.
  2. Use setFirstResult/setMaxResults offset pagination, or rewrite in HQL to use key-based pagination.

When it happens

Trigger: A runtime precondition of the Hibernate query API is violated.

Common situations: Occurs when application code or configuration does not satisfy the documented contract of the API being called.


AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22). Data as JSON: /api/errors/483eb2776f7be072. Report an issue: GitHub.