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