中文无法查询的问题

来源:互联网 发布:淘宝客工具 编辑:程序博客网 时间:2024/06/06 06:55

今天遇见这样一个问题,输入中文查询既然无结果。

 

因为本人使用的stander JSP using Struts1.1生成的页面,而出现上述问题者使用的是default JSF template模式。

当时就想会不会是两者完善的程度上造成的结果。没有找到这方面的资料。

 

问题所在:

问题是出在执行查询语句时。当时使用的查询语句是Hibernate的getHibernateTemplate().find(),使用的HQL语言。

有人指出,find()方法对中文的查询不太好。

 

最后问题是这样解决的:

在spring中引入支持中文查询的类。(在配置文件applicationContext.xml)如下:

 

<property name="hibernateProperties">
   <props>


    <prop key="hibernate.dialect"> org.hibernate.dialect.Oracle9Dialect </prop>

 

    <prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory </prop>

   </props>
  </property>

 

最后在find()中的参数要使用SQL语句,即不再使用HQL的持久化类的属性来查询,而是直接使用数据库中的字段名来查询。

原创粉丝点击