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
- 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.