hibernate当中使用hql进行查询的时候,如果参数是中文,这hql打印为乱码。以前从来没有遇到过的问题,郁闷。经过无数次的尝试之后都无法解决,查找资料突然发现这个hibernate3的一个bug。在hibernate3当中使用antlr来解析hql,估计是这个的问题。
解决方法为:
1、采用占位符,然后setString
2、将 hibernate.query.factory_class 属性设置成 org.hibernate.hql.classic.ClassicQueryTranslatorFactory
<script type="text/javascript">
//
</script>
解决方法为:
1、采用占位符,然后setString
2、将 hibernate.query.factory_class 属性设置成 org.hibernate.hql.classic.ClassicQueryTranslatorFactory
本文介绍了一个Hibernate HQL查询中出现中文乱码的问题及其解决方案。该问题源于Hibernate 3使用ANTLR解析HQL时的缺陷。文章提供了两种解决方法:一是使用占位符配合setString方法;二是修改配置文件中的hibernate.query.factory_class属性。
407

被折叠的 条评论
为什么被折叠?



