【发布时间】:2016-03-21 11:26:32
【问题描述】:
我正在使用休眠条件从数据库中获取数据。现在我需要根据title 和createdDate 获取数据,为此我添加了
if(condition){
criteria.addOrder(Order.asc("title"));
}else{
criteria.addOrder(Order.asc("createdDate"));
}
问题是,它适用于createdDate,但不适用于title
我得到的结果是TEST,d1,ga,new,pre,ss,t,应该是d1,ga,new,pre,t,TEST
更新:问题出在案例上,当我更改 TEST 以测试其正常运行时。
【问题讨论】:
-
我认为您无法使用订单来实现这一点。在排序字符串时,由于字符值较低,大写字母排在小写字母之前。也许您必须创建自己的比较器。
-
投反对票的人至少表现出解释问题的方式..
标签: java hibernate criteria hibernate-criteria