Hibernate的HQL支持数据库函数

本文介绍如何通过扩展Hibernate的Dialect来支持特定数据库函数,以Mysql5为例,演示了如何注册convert函数以实现中文排序。

Hibernate的HQL已经支持大多数数据库函数,肯定不能包括所有, 幸运的是Hibernate已经对此做了相应的方案解决, 也就是Dialect中注册数据库函数.具体做法如下,我们以Mysql5为例

 

Mysql 的convert函数,现在数据库的字符集是utf-8,如果想实现中文排序,就需要用convert(filedName using gbk) 实现,但现有的hibernate的hql不能支持此函数, 我们可以在Dialect注册一个函数,一般不赞成直接修改Hibernate 的源码, 我们可以扩展一个类,如下代码所示

 

 

在applicationContext.xml中修改

<prop key="hibernate.dialect">package.MySQL5LocalDialect</prop>

 

 

 在HQL中使用convert方法, 例如: convert(fieldName, "gbk") , "GBK"也可以是其他字符集

 

 

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值