0

我的数据由可以是数字或字符串的字符串组成(“12”应该被视为一个数字,而“12REF”应该被视为一个字符串)。

我希望在我的 criteriaBuilder 中实现 order by,它首先按数字对字符串进行排序,然后将按字母顺序排序的字符串放在最后。

正确排序示例:<[[“1”、“2”、“10”、“A”、“AB”、“B”、“DUP”、“LNE”、“NUL”]]>

目前我的代码看起来像这样(只是按 asc 排序,使用 CriteriaQuery 的 orderBy)。

.orderBy(QueryUtils.toOrders(
                            Sort.by(Sort.Direction.ASC, selection.getAlias()), root,
                            criteriaBuilder)
                            );

这导致:<[[“1”,“10”,“2”,“A”,“AB”,“B”,“DUP”,“LNE”,“NUL”]]>

如何在这里实现自定义排序?

编辑:数据存储在 MySQL 数据库中

4

0 回答 0