我有以下情况:
我有一张一年的账单(例如2000年、2001年……),一个布尔值,表示账单是否已支付,以及其他不同的值,如人名。
我想以特定的顺序在列表中显示它们。最早的未付账单应位于顶部,最早的已付账单应位于底部。还应按名称排序。
例如:
Name Year PAID
Smith 2010 false
Otto 2018 false
Anon 2018 true
Hueue 2018 true
Otto 2017 true
Smith 2009 true
像这样的。。。
"from Bill as b order by b.paid, b.year, b.name"
此子句按如下方式对列表进行排序:
Name Year PAID
Smith 2010 false
Otto 2018 false
Smith 2009 true
Otto 2017 true
Anon 2018 true
Hueue 2018 true
我试图通过HQL(按案例排序…)实现我的目标但我不知道如何根据值以不同的方式排列同一行。
Like:(这不起作用)
" from Bill as b" +
" order by" +
" b.paid," +
" (case b.year" +
" WHEN b.paid" +
" THEN b.year" +
" ELSE -b.year" +
" end)," +
" b.name"
提前感谢您的帮助。
编辑:添加了更多解释和示例。。。