San*_*ndy 6 jpa hibernate-annotations jpa-annotations
我想用带有多列的@OrderBy注释对OneToMany字段进行排序,并为每个列指定排序顺序,但我似乎无法在任何地方找到有关如何或不可能的信息.注释的规格说:
orderby_list::= orderby_item [,orderby_item]*
orderby_item::= property_or_field_name [ASC | DESC]
Run Code Online (Sandbox Code Playgroud)
所以我的猜测是不可能的,但无论如何我更愿意问.
在部署时抛出以下内容会引发HibernateException:
@OrderBy("field1 DESC, field2 DESC, field3 DESC, field4 DESC")
Run Code Online (Sandbox Code Playgroud)
生成:
Caused by: org.hibernate.HibernateException: Unable to parse order-by fragment
Run Code Online (Sandbox Code Playgroud)
谢谢
Nei*_*ton 13
如果你有一个类Person有2场,firstName并lastName随后与查询,你可以做
SELECT p FROM Person p ORDER BY p.firstName ASC, p.lastName DESC
Run Code Online (Sandbox Code Playgroud)
这是JPQL BNF所说的.
就你何时拥有一个Person对象列表而言,你可以像这样定义List排序(相同的语法)
@OneToMany
@OrderBy("firstName ASC, lastName DESC")
List<Person> myList;
Run Code Online (Sandbox Code Playgroud)