当前位置: 代码迷 >> Web前端 >> criteria.addOrder(Order.asc("userName"));怎么让其对汉语也管用
  详细解决方案

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

热度:931   发布时间:2012-09-19 13:43:54.0
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')”

?

?

?

?

?

  相关解决方案