将HQL转换成SQL语句在数据库的查询分析器中运行一下,看看是否会出错?

解决方案 »

  1.   

    将HQL转换的SQL语句在查询分析器中运行,没有问题我认为应该是hibernate的一个参数的问题,但我无法直接解决这个问题,走了个曲径解决了这个问题。
      

  2.   

    http://blog.csdn.net/iloveqing/archive/2006/07/17/932015.aspx
      

  3.   

    可以设置hibernate.query.factory_class为org.hibernate.hql.classic.ClassicQueryTranslatorFactory
    比如:
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref bean="dataSource" />
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">
    org.hibernate.dialect.Oracle9Dialect
    </prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.format_sql">true</prop>
    <prop key="hibernate.query.factory_class">
    org.hibernate.hql.classic.ClassicQueryTranslatorFactory
    </prop>
    </props>
    </property>
    </bean>
    希望能帮你解决!!
      

  4.   

    我见过的是用hibernate传参查询就乱码,用HQL就没有问题,后来根据需要都改成HQL了
      

  5.   

    第二个问题已经解决,不是程序的原因,是因为数据库里有手动添加的脏数据,删除脏数据后下常。
    第一个问题按xiaoqi1985() 说的方法正在测试中
      

  6.   

    把字符自动过滤一下 用filter
      

  7.   

    楼上说的对,用filter过滤字符集试一试
      

  8.   

    换hibernate3.1的包,3.0的对中文支持不好