当我使用Hibernate对中文专栏的客户列表进行排序时,我遇到了一个问题,首先,我试图通过简单的HQL对它们进行排序:
String hql = "FROM CUSTOMER ORDER BY name DESC";我发现检索到的列表不符合我们的要求,我想用26个字母拼写对它们进行排序,然后我在googled上搜索了SQL可以解决的解决方案,比如:
String sql = "SELECT * FROM customer ORDER BY convert(name using gbk) DESC";我在MySQL命令行上发布了它,它选择了正确的排序结果,但是现在它仍然没有解决我的问题,因为它在Hibernate中不起作用,我只是想使用Hibernate (HQL)来查询,那么有什么方法吗?或者我必须开发一个新的数据库方言来解决它?
谢谢。
发布于 2013-11-26 05:02:48
试着用这个,它可能对你也有用,对我有用!
SELECT * FROM customer WHERE CONVERT(name USING gb2312) > '明';
SELECT * FROM customer ORDER BY CONVERT(name USING gb2312); 后者隐式使用gb2312_chinese_ci,但您也可以为该字符集指定另一个字符。
https://stackoverflow.com/questions/20208766
复制相似问题