criteria.addOrder(Order.asc("userName"));如何让其对汉语也管用

 

发现hibernate不支持mysql里按照中文字段排序

   criteria.addOrder(Order.asc("userName"));不管用

 

网上查了半天,也没有找到:

只有这个:详情参考:http://raywithu.iteye.com/blog/1139332

 

后来找到了我之前找到的答案:http://aubergine-kang.iteye.com/admin/blogs/1187725

 

后记:

今天又碰到了排序的问题,米有办法啦,只能再次调查,本来抱着试试看的心态发现

http://raywithu.iteye.com/blog/1139332

写的工具GBKOrder真的有用,感谢分享~

 

 

后记2:

碰到程序中使用query的session
    .createQuery(hql)

备注:hql和sql可是不一样的。那么解决方法:

http://hi.baidu.com/flora_ke/blog/item/41a51ecbee5bab4af21fe791.html

 

那么总结一下:

1.http://raywithu.iteye.com/blog/1139332里使用的是创建criteria

2.http://aubergine-kang.iteye.com/admin/blogs/1187725使用的是在hibernate使用sql语句(session.createSQLQuery(sql))

3. http://hi.baidu.com/flora_ke/blog/item/41a51ecbee5bab4af21fe791.html

在hibernate使用的是hql(session .createQuery(hql))

大家各取所需啊~

 

那么现在,在这个程序中三个都用到了:

第一个只需要在sql语句添加:“select *  from user  order by convert(name useing gbk)”即可;

第二个,需要写一个GbkOrder类添加到当前项目中,继承Order,并重写,在session.creatCriteria的时候:criteria.addOrder(GBKOrder.asc("name"));

第三个,需要写一个MySQL5LocalDialect 类添加到当前项目中,继承MySQL5Dialect ,并重写,在session.creatQuery的时候:“ from User order by convert(name,'GBK')”

 

转自:http://aubergine-kang.iteye.com/blog/1243564

 

你可能感兴趣的:(Criteria,addOrder)