【发布时间】:2014-10-07 11:25:32
【问题描述】:
我有一个实体:
class User{
Long id;
String group_name;
User head;
}
我必须按顺序获得已订购的用户: 按 group_name 排序,如果 user 是 head 则优先(head 表示 head.id = id)。
我进行 HQL 查询:select u from User u order by u.group_name, case when u = head then 0 else 1;
但它不起作用;
结果我想要: (组名:用户)
- g1 约翰(头)
- g1 詹姆斯
- g1 亚当
- g2 布赖恩(头部)
- g2 马丁
如何进行正确的 HQL 查询?
【问题讨论】:
-
不清楚的问题,如果可能的话,提供更多细节并给出表格结构。
-
尝试“当 u.id = head.id”