我遇到一种情况,需要根据状态对记录进行排序。状态值可以是“活动/正在处理/已完成/已终止”。
现在,我想像先获取记录一样,先获取所有活动记录,然后处理,然后完成,然后终止。
如果我直接在状态列上排序,则不会获得所需的结果。
那么我该如何使用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