Hibernate的HQL支持数据库convert函数
来源:互联网 发布:python 文件写入变量 编辑:程序博客网 时间:2024/05/16 14:23
Hibernate的HQL已经支持大多数数据库函数,肯定不能包括所有, 幸运的是Hibernate已经对此做了相应的方案解决, 也就是Dialect中注册数据库函数.具体做法如下,我们以Mysql5为例
Mysql 的convert函数,现现在数据库的字符集是utf-8,如果想实现中文排序,就需要用convert(filedName using gbk) 实现,但现有的hibernate的hql不能支持此函数, 我们可以现在Dialect注册一个函数,一样不赞成直接修改Hibernate 的源码, 我们可以扩展一个类,如下代码所示
importorg.hibernate.Hibernate;
importorg.hibernate.dialect.MySQL5Dialect;
importorg.hibernate.dialect.function.SQLFunctionTemplate ;
public classMySQL5LocalDialect extends MySQL5Dialect {
publicMySQL5LocalDialect(){
super();
registerFunction("convert",new SQLFunctionTemplate(Hibernate.STRING, "convert(?1 using ?2)") );
}
}
现在applicationContext.xml中或hibernate.hbm.xml中修改
package.MySQL5LocalDialect
<propertyname="hibernate.dialect">
com.credit.publicmodel.util.MySQL5LocalDialect
</property>
现在HQL中使用convert方法, 例如: convert(fieldName, 'gbk') ,"GBK"也可以是其他字符集
- Hibernate的HQL支持数据库convert函数
- Hibernate的HQL支持数据库convert函数
- Hibernate的HQL支持数据库convert函数
- Hibernate的HQL支持数据库convert函数_MySQL
- Hibernate的HQL支持数据库函数
- 关于 Hibernate 的 SQLFunctionTemplate 的问题(HQL 不支持mysql 函数convert的问题)
- 自定义 Hibernate 的 HQL 函数
- hibernate将hql转换成count(*)的方法,支持所有的数据库oracle,mysql等
- hql,ql,jpa支持的函数
- hql,ql,jpa支持的函数
- hibernate组函数HQL
- Hibernate中HQL函数
- Hibernate HQL和QBC支持的各种运算
- hql相应数据库函数的应用
- Hibernate 支持的数据库方言
- hibernate支持的数据库-转载
- java 读取mysql排序 hql中对mysql中文排序完整解决方案 hibernate注册mysql数据库的函数
- Hibernate的HQL使用Oracle的Regexp_like函数的方式
- sun.misc.BASE64Encoder找不到jar包的解决方法
- JavaScript Beyond the Web in 2014 http://www.sitepoint.com/javascript-beyond-web-2014/
- 布隆过滤器Python代码实现
- 【实用方法】Linux PCI/PCI-E设备配置空间读取与修改
- HDU1548 A strange lift 广搜 + 最短路
- Hibernate的HQL支持数据库convert函数
- __forceinline, inline,__inline的详细说明
- 黑马程序员——Java集合框架(3)
- configure: error: C++ compiler cannot create execut
- windows 2008 iso制作
- C语言的预编译
- Mac OS X下绑定80端口
- SVN Attempted to lock an already-locked dir
- js 获取最后一个字符