按一列特定值的顺序获取表记录

时间:2019-02-28 06:06:28

标签: hibernate hibernate-mapping hibernate-criteria

我遇到一种情况,需要根据状态对记录进行排序。状态值可以是“活动/正在处理/已完成/已终止”。

现在,我想像先获取记录一样,先获取所有活动记录,然后处理,然后完成,然后终止。

如果我直接在状态列上排序,则不会获得所需的结果。

那么我该如何使用Hibernate Criteria APi来实现它?

SQL:

SELECT 
CASE 
WHEN emp.status='ACTIVE' THEN '1' 
WHEN emp.status='PROCESSING' THEN '2' 
WHEN emp.status='COMPLETED ' THEN '3' 
WHEN emp.status='TERMINATED' THEN '4' 
END lawAndOrder
FROM employee emp 
ORDER BY status lawAndOrder

0 个答案:

没有答案