criteria.addOrder(Order.desc("userName"));
userName字段包含中英文,如果我想中文按照拼音首字母、英文按首字母排序,请问代码要怎么写??在线等

解决方案 »

  1.   

    这个是在sql语句里面实现
    我记得默认就是按照首字母排列的
      

  2.   

    criteria.addOrder(Order.desc("userName")); 
    userName字段包含中英文,如果我想中文按照拼音首字母、英文按首字母排序,请问代码要怎么写??在线等只含英文是可以的 ,但是现在包含中文, order by 排序就不是按拼音首字母和英文排序了,而是乱续,当然“张三”和“张四”是排在一起的,但是“张三”按照首字母Z不是排在最后面。而且我现在用的是hibernate 的QBC查询模式,不是HQL查询,请教用QBC排序的话应该要怎么写
      

  3.   

    mysql里面有一个CONVERT()函数
    select * from mytable order by CONVERT(chineseColumnName USING gbk);
    只是hibernate不支持,不知道能不能通过JDBC来执行
      

  4.   

    在oracle 中 有nlssort();
    order by nlssort(chineseColumnName,'NLS_SORT=SCHINESE_PINYIN_M')
    试试行不行