我现在面临一个关于从DB获取结果的问题。 我想按ASC排序,但我想做一个例外,“其他人”。所以选择“其他”将是最后的选择。我该如何实现呢? 所以,ComboBox List会是这样的:
AA
BB
CC
DD
......
......
XX
YY
ZZ
Others
我试过的代码:
public List<Testing> findAll() {
Criteria criteria = getSession().createCriteria(Testing.class);
criteria.addOrder(Order.asc("TestingString"));
return (List<Testing>) criteria.list();
}
通过使用这种编码,“其他”将在“OO”和“PP”之间。显示选择“其他”是一种不好的方式。
答案 0 :(得分:1)
使用Hibernate没有直接的方法,但你可以在你的代码中完全做到这一点。我想到了两种方式:
答案 1 :(得分:0)
在休眠时,您可以定义一个@Formula注释字段,其中值是订单的SQL表示形式。然后在排序中使用@Formula注释字段。
表达式可能是
CASE columnName
WHEN 'Other' THEN 'zzzzzzzzzzzzzz"
ELSE columnName
END