hibernate/hibernate-orm · error · IllegalArgumentException

Expected an integer literal but got '{}'

Error message

Expected an integer literal but got '{}'

What it means

Error "Expected an integer literal but got '{}'" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/query/restriction/JakartaDataRestriction.java:696

			return Integer.class;
		}
		else if ( javaType == long.class ) {
			return Long.class;
		}
		else if ( javaType == short.class ) {
			return Short.class;
		}
		else {
			return Void.class;
		}
	}

	private static int integerLiteral(jakarta.data.expression.Expression<?, ?> expression) {
		if ( expression instanceof Literal<?> literal && literal.value() instanceof Integer integer ) {
			return integer;
		}
		else {
			throw new IllegalArgumentException(
					"Expected an integer literal but got '" + expression.getClass().getName() + "'" );
		}
	}
}

View on GitHub (pinned to fad1729dce)

Solutions

  1. An integer literal was expected. Provide an integer value/literal in this position.

When it happens

Trigger: A non-integer value is used where an integer literal is required: Expected an integer literal but got '<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/efe2696c795e75fa. Report an issue: GitHub.