Mr_Tao 发表于 2014-2-12 14:56:28

CriteriaQuery类 多条件排序问题

CriteriaQuery 类 的 排序字段为
private static Map<String, Object> ordermap;//排序字段

设置排序的函数
        /**
       * 设置order(排序)查询条件
       *
       * @param ordername
       *            :排序字段名
       * @param ordervalue
       *            :排序字段值("asc","desc")
       */
        public void setOrder(Map<String, Object> map) {
                for (Map.Entry<String, Object> entry : map.entrySet()) {
                        judgecreateAlias(entry.getKey());
                        if (SortDirection.asc.equals(entry.getValue())) {
                                detachedCriteria.addOrder(Order.asc(entry.getKey()));
                        } else {
                                detachedCriteria.addOrder(Order.desc(entry.getKey()));
                        }
                }
        }
由于HashMap 是无序的
所以生成的排序 和 put 的顺序无关
file:///C:\Users\taoxc\AppData\Roaming\Tencent\Users\771889386\QQ\WinTemp\RichOle\DTT3O{Z`ZQSW1(9`_{IXE1J.jpg

GIN 发表于 2014-2-12 15:10:51

应该改为 LinkedHashMap 感谢反馈

Mr_Tao 发表于 2014-2-13 09:04:48

GIN 发表于 2014-2-12 15:10 static/image/common/back.gif
应该改为 LinkedHashMap 感谢反馈

支持JEECG 健康发展
页: [1]
查看完整版本: CriteriaQuery类 多条件排序问题