gpt4 book ai didi

java - 为什么 JPA "order by ascending"首先返回大写条目?

转载 作者:行者123 更新时间:2023-12-02 05:00:46 24 4
gpt4 key购买 nike

我有一个包含以下代码的条件查询:

CriteriaQuery<MyClass> criteria = cb.createQuery(MyClass.class);
Root<MyClass> root = criteria.from(MyClass.class);
criteria = criteria
.where(cb.like(root.get(MyClass_.name), name + "%"))
.orderBy(cb.asc(root.get(MyClass_.name)))
.select(root);

为什么我的示例结果是这样排序的:

abcdE
abcde

而不是这样:

abcde
abcdE

我该如何解决这个问题?

我希望首先返回完全小​​写的结果,但事实并非如此。

最佳答案

A-Z 的 Unicode 字符点是从 65 到 90,而 a-z 的字符点是从 97 到 122。因此,排序是来自数据库的正确顺序。

要解决这个问题(因为这不是一个问题,而是您必须满足的不同要求),只需不要使用 JPA 对数据进行排序,而是使用 Collections#sort 手动对数据进行排序。并提供定制Comparator<MyClass> .

关于java - 为什么 JPA "order by ascending"首先返回大写条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28301350/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com