hibernate/hibernate-orm · error · IllegalArgumentException

Not an integer literal: {}

Error message

Not an integer literal: {}

What it means

Error "Not an integer literal: {}" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/query/internal/SelectionQueryImpl.java:1535

	}


	// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	// Utilities

	protected int getIntegerLiteral(JpaExpression<Number> expression) {
		if ( expression == null ) {
			return 0;
		}
		else if ( expression instanceof SqmLiteral<Number> numericLiteral ) {
			return numericLiteral.getLiteralValue().intValue();
		}
		else if ( expression instanceof SqmParameter<Number> parameterExpression ) {
			final Number number = getParameterValue( parameterExpression );
			return number == null ? 0 : number.intValue();
		}
		else {
			throw new IllegalArgumentException( "Not an integer literal: " + expression );
		}
	}

	protected int getMaxRows(SqmSelectStatement<?> selectStatement, int size) {
		final var fetchExpression = selectStatement.getFetch();
		if ( fetchExpression != null ) {
			final var fetchValue = fetchValue( fetchExpression );
			if ( fetchValue != null ) {
				// Note that we can never have ties because this is only used when we deduplicate results
				return switch ( selectStatement.getFetchClauseType() ) {
					case ROWS_ONLY, ROWS_WITH_TIES -> fetchValue.intValue();
					case PERCENT_ONLY, PERCENT_WITH_TIES ->
							(int) Math.ceil( (((double) size) * fetchValue.doubleValue()) / 100d );
				};
			}
		}
		return -1;
	}

View on GitHub (pinned to fad1729dce)

Solutions

  1. The value is not a valid integer literal. Supply a numeric literal for the pagination/position value.

When it happens

Trigger: A non-integer value is used where an integer literal is required: Not an integer literal: <value>

Common situations: Passing non-numeric limit/offset expressions or hints that must be integer literals.


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