嗨,我想在HQL中排序
ORDER BY IF g.groupAdminId=:adminid THEN 1 ELSE 0 END ASC
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我希望拥有用户首先管理员的所有实体,我怎样才能实现这一目标?
我不相信可以将命名参数放在where子句之外.
可以根据表达式订购:
from User U
order by case
when U.group.name = 'Admin' then 0
when U.group.name = 'Superuser' then 1
else 2
end asc
Run Code Online (Sandbox Code Playgroud)
有关caseHQL 文档的更多信息:
对于您的特定问题(在其他用户之前有管理员),我建议进行两次查询并将这两个列表组合在一起.
还有其他方法,但我不喜欢它们中的任何一个:
| 归档时间: |
|
| 查看次数: |
5006 次 |
| 最近记录: |