如何使用 JPA Criteria Builder 按长度排序(column_name)

how to OrderBy length(column_name) using JPA Criteria Builder

我想创建一个自然顺序排序:

我有字符串值列,如:{ a-demo-1, a-demo-2, a-demo-10,a-demo-3}。

我知道:

1)按列首的长度排序

2)按同一列排序即可。

考虑这个 PostgreSql:

select id, name from table_name
order by length(name), name;

这是可行的,但我无法将其转换为条件查询。

我需要帮助。

criteriaQuery.orderBy( // Order by
     criteriaBuilder.desc( // Descending order
         criteriaBuilder.length( // By length
              root.get("columnName")))); // Column name