hibernate/hibernate-orm · error · IllegalArgumentException

Not Hibernate CriteriaBuilder

Error message

Not Hibernate CriteriaBuilder

What it means

Error "Not Hibernate CriteriaBuilder" thrown in hibernate/hibernate-orm.

Source

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

			Expression<?> expression,
			CriteriaBuilder builder) {
		if ( value != null ) {
			return builder.literal( value );
		}
		else {
			final var javaType = wrapperType( expression.getJavaType() );
			return javaType == null
					? builder.nullLiteral( Object.class )
					: builder.nullLiteral( javaType );
		}
	}

	private static NodeBuilder nodeBuilder(CriteriaBuilder builder) {
		if ( builder instanceof NodeBuilder nodeBuilder ) {
			return nodeBuilder;
		}
		else {
			throw new IllegalArgumentException( "Not Hibernate CriteriaBuilder" );
		}
	}

	private static void verifyExpressionType(
			Expression<?> expression,
			Class<?> expectedType) {
		final var expressionType = expression.getJavaType();
		if ( expressionType != null ) {
			final var javaType = wrapperType( expressionType );
			if ( !expectedType.isAssignableFrom( javaType ) ) {
				throw new IllegalArgumentException(
						"Expected '" + expectedType.getName() + "' expression but got '" + javaType.getName() + "'" );
			}
		}
	}

	private static void verifyAssignableExpressionType(
			Expression<?> expression,

View on GitHub (pinned to fad1729dce)

Solutions

  1. The CriteriaBuilder is not a Hibernate CriteriaBuilder. Obtain the criteria builder from the Hibernate Session/EntityManager.

When it happens

Trigger: A foreign Criteria API implementation is passed where Hibernate's is required: Not Hibernate CriteriaBuilder

Common situations: Mixing criteria objects from another JPA provider (or plain JPA interfaces) with Hibernate-specific restriction APIs.


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