hibernate中依照中文拼音排序
hibernate中按照中文拼音排序
/** * MySQLExtendDialect.java of new_dlog_cn * 作者: Winter Lau * 时间: 2009-4-13 * 项目主页: <a href="http://www.dlog4j.com/">http://www.dlog4j.com</a> */ package com.dlog4j.tester; import org.hibernate.Hibernate; import org.hibernate.dialect.*; import org.hibernate.dialect.function.SQLFunctionTemplate; /** * MySQL扩展方言 * @author Winter Lau */ public class MySQLExtendDialect extends MySQLDialect { public MySQLExtendDialect(){ super(); registerFunction("convert_gbk", new SQLFunctionTemplate(Hibernate.STRING, "convert(?1 using gbk)") ); } }
需要在hibernate.properties中更改hibernate.dialect方言字段:
hibernate.dialect=com.dlog4j.tester.MySQLExtendDialect
然后hql就可以这么写:"from ProductLine p order by convert_gbk(p.name) asc
转自:http://www.oschina.net/code/snippet_12_1094
参考:http://raywithu.iteye.com/blog/1139332