stu*_*f22 11 java jpa hql jpql
鉴于以下JPQL语句,我如何修改它,以便结果列表中的小猫按其age属性排序?
SELECT c FROM Cat c left join fetch c.kittens WHERE c.id = :id
Run Code Online (Sandbox Code Playgroud)
我尝试了多个approches,但没有任何运气.这基本上是我想要做的,但它不起作用:
SELECT c FROM Cat c left join fetch c.kittens k WHERE c.id = :id ORDER BY k.age
Run Code Online (Sandbox Code Playgroud)
小智 10
HEJ,
我认为使用查询应用时不可能.但据我记忆,你可以使用它在映射中为你的集合添加默认排序:
@OrderBy("myColumName asc")
Run Code Online (Sandbox Code Playgroud)
除了@bigZee77 的答案之外,您还可以更改查询并查询小猫而不是猫。生成的小猫列表将被排序,每只小猫都将指向同一只猫:
select k from Cat c inner join fetch c.kittens k where c.id = :id order by k.age
Run Code Online (Sandbox Code Playgroud)
但是,如果猫没有任何小猫,您将得到一个空列表。
替代方法当然是提供一个 Java 方法来对小猫列表进行排序。
| 归档时间: |
|
| 查看次数: |
10066 次 |
| 最近记录: |