发现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')”
?
?
?
?
?