/**
* 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