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')”

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值