HQL查询中文乱码问题

来源:互联网 发布:上海松江巨人网络招工 编辑:程序博客网 时间:2024/05/19 01:11

   

问题描述:在HQL语句中如果其中参数是中文,执行后会发现该参数为乱码。

解决方法:可以在hibernate.cfg.xml中加入如下语句:

这样就可以解决传入参数为乱码问题。

这个的确解决了在拼凑的HQL语句中的中文乱码问题,不过如果用hibernate的更新方法时会报错。

原因:hibernate.query.factory_class这个属性是配置hibernate查询翻译器的工厂类,上面配置的是hibernate2.x的,在2.x时hibernate还不支持更新的HQL。在hibernate3.x中默认的翻译器是3的,但是如果拼凑HQL语句中带有中文就会乱码。

解决方法:在写HQL的时候不吧中文参数拼凑进去,用query的setXxx方法即可。

原创粉丝点击