`
dengquanhao
  • 浏览: 25739 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

HQL查询中的中文参数解决之道

阅读更多

在Hibernate配置文件中加入下面代码:
<property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>
如果是Spring+Hibernate开发,则在定义Hibernate配置属性时候加入:
<property name="hibernateProperties">
  <props>
    <prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>
</props>
</property>

设定数据库连接方式是UTF-8。例如连接MYSQL时配置URL如下:这是在hibernate.cfg.xml文件里设置:jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8或加两个属性
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>
注意,上述写法是hibernate的hibernate.cfg.xml写法.最后要注意的是在tomcat中&amp;要写成&即可。
分享到:
评论
1 楼 dengquanhao 2009-05-13  
  这是我转载的,其实要解决hql查询时的中文参数问题,只要修改hibernate.cfg.xml,添加两个属性,<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>,或者连接数据库时,用jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8即可,如文中所说。
  至于文中前半部份的介绍大可不比,因为不是每个人的查询都用的是 org.hibernate.hql.classic.ClassicQueryTranslatorFactory(经典查询)。

相关推荐

Global site tag (gtag.js) - Google Analytics