Hibernate的HQL支持数据库convert函数_MySQL
来源:互联网 发布:阿里云实际应用 编辑:程序博客网 时间:2024/05/16 14:57
From:http://blog.sina.com.cn/s/blog_624a352c0100qkaq.html
Refer:http://blog.csdn.net/sd4000784/article/details/7693046
Hibernate的HQL已经支持大多数数据库函数,肯定不能包括所有, 幸运的是Hibernate已经对此做了相应的方案解决,也就是Dialect中注册数据库函数.具体做法如下,我们以Mysql5为例
Mysql 的convert函数,现现在数据库的字符集是utf-8,如果想实现中文排序,就需要用convert(filedNameusing gbk) 实现,但现有的hibernate的hql不能支持此函数,我们可以现在Dialect注册一个函数,一样不赞成直接修改Hibernate 的源码, 我们可以扩展一个类,如下代码所示
import org.hibernate.Hibernate;
importorg.hibernate.dialect.MySQL5Dialect;
import org.hibernate.dialect.function.SQLFunctionTemplate;
public class MySQL5LocalDialect extends MySQL5Dialect{
public MySQL5LocalDialect(){
registerFunction("convert", newSQLFunctionTemplate(Hibernate.STRING, "convert(?1 using ?2)"));
现在applicationContext.xml中或hibernate.hbm.xml中修改
package.MySQL5LocalDialect
package.MySQL5LocalDialect
<propertyname="hibernate.dialect">
com.credit.publicmodel.util.MySQL5LocalDialect
</property>
现在HQL中使用convert方法,例如: convert(fieldName, 'gbk') , "GBK"也可以是其他字符集
- Hibernate的HQL支持数据库convert函数_MySQL
- Hibernate的HQL支持数据库convert函数
- Hibernate的HQL支持数据库convert函数
- Hibernate的HQL支持数据库convert函数
- Hibernate的HQL支持数据库函数
- 数据库_MySQL UUID函数的详解
- 关于 Hibernate 的 SQLFunctionTemplate 的问题(HQL 不支持mysql 函数convert的问题)
- 自定义 Hibernate 的 HQL 函数
- hibernate将hql转换成count(*)的方法,支持所有的数据库oracle,mysql等
- hql,ql,jpa支持的函数
- hql,ql,jpa支持的函数
- hibernate组函数HQL
- Hibernate中HQL函数
- 数据库_MySQL
- Hibernate HQL和QBC支持的各种运算
- hql相应数据库函数的应用
- Hibernate 支持的数据库方言
- hibernate支持的数据库-转载
- python中下划线的用法
- setTag()/getTag()
- 常见MVC框架比较
- 如何在Android 模拟器上传/下载文件,解决read-Only问题?
- RedHat系统安装ActiveMQ5.8.0
- Hibernate的HQL支持数据库convert函数_MySQL
- 今天签约了!
- HDU 2087 剪花布条
- Linux 静态库与动态库搜索路径设置
- Spring MVC 背景介绍
- 中断服务程序的要求
- hibernate的like用法以及hibernate.query.factory_class的写法问题
- java script验证表单时常用
- 《coredump问题原理探究》Linux x86版5.6节C风格数据结构内存布局之复合类型构成的结构体