gpt4 book ai didi

JPA/Hibernate @OrderBy 注释,带有多个列和每个列的 ASC/DESC

转载 作者:行者123 更新时间:2023-12-03 15:23:40 24 4
gpt4 key购买 nike

我想使用带有多列的 @OrderBy 注释对 OneToMany 字段进行排序,并为每个字段指定排序顺序,但我似乎无法在任何地方找到有关如何操作或是否不可能的信息。
注释的规范说:

orderby_list::= orderby_item [,orderby_item]*
orderby_item::= property_or_field_name [ASC | DESC]

所以我猜这是不可能的,但我还是想问问。

放置以下内容会在部署时引发 HibernateException:
@OrderBy("field1 DESC, field2 DESC, field3 DESC, field4 DESC")

生成:
Caused by: org.hibernate.HibernateException: Unable to parse order-by fragment

谢谢

最佳答案

如果您有类(class) Person有 2 个字段,firstNamelastName然后通过查询你可以做

SELECT p FROM Person p ORDER BY p.firstName ASC, p.lastName DESC

这就是 JPQL BNF 所说的。

就您何时拥有 Person 的列表而言对象,您可以像这样定义 List 排序(相同的语法)
@OneToMany
@OrderBy("firstName ASC, lastName DESC")
List<Person> myList;

关于JPA/Hibernate @OrderBy 注释,带有多个列和每个列的 ASC/DESC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42085629/

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