hibernate/hibernate-orm · error · IllegalArgumentException

Path may not be empty

Error message

Path may not be empty

What it means

Error "Path may not be empty" thrown in hibernate/hibernate-orm.

Source

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

			CriteriaQuery<?> query,
			Root<?> root,
			CriteriaBuilder builder) {
		requireNonNull( sort, "missing sort" );
		requireNonNull( query, "missing query" );
		requireNonNull( root, "missing root" );
		requireNonNull( builder, "missing builder" );
		final var expression =
				sort.ignoreCase()
						? builder.lower( path( root, sort.property() ).as( String.class ) )
						: path( root, sort.property() );
		appendOrder( query, sort.isDescending() ? builder.desc( expression ) : builder.asc( expression ) );
	}

	private static jakarta.persistence.criteria.Path<?> path(Root<?> root, String path) {
		requireNonNull( path, "missing path" );
		final var tokens = new StringTokenizer( path, "." );
		if ( !tokens.hasMoreTokens() ) {
			throw new IllegalArgumentException( "Path may not be empty" );
		}
		jakarta.persistence.criteria.Path<?> criteriaPath = root;
		while ( tokens.hasMoreTokens() ) {
			criteriaPath = criteriaPath.get( tokens.nextToken() );
		}
		return criteriaPath;
	}

	private static void appendOrder(CriteriaQuery<?> query, jakarta.persistence.criteria.Order order) {
		final List<jakarta.persistence.criteria.Order> orders = new ArrayList<>( query.getOrderList() );
		orders.add( order );
		query.orderBy( orders );
	}

	/**
	 * Obtain a {@linkplain Predicate JPA criteria predicate} representing the given
	 * {@linkplain jakarta.data.restrict.Restriction Jakarta Data restriction}.
	 */

View on GitHub (pinned to fad1729dce)

Solutions

  1. The restriction path is empty. Provide a non-empty attribute path for the restriction.

When it happens

Trigger: A Jakarta Data restriction is invalid or unsupported: Path may not be empty

Common situations: Building Restrictions with empty paths, unsupported restriction/constraint/expression types, or expressions of the wrong Java type.


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