我用hql语句查询中文,查不出结果,但是,如果不用拼hql语句,而是用query.setString("para","中文");的方法,传值,就可以查出来。
hibernate打印的sql显示,我拼的中文地方,在解释成sql语句时,成了乱码。请高手们帮我解决一下,感激不尽。
我目的是为的用拼好hql语句的方式去查询。

解决方案 »

  1.   

    hibernate 版本问题 hibernate 3.2.3 或 hibernate 3.1.2 都没问题 不建议这样使用Hql 会导致注入攻击
      

  2.   

    lz的问题是编码的问题造成的,lz可以看看后台打印出来的sql语句,应该你的中文查询条件的地方已经变成了乱码,只要转码就可以了。不过同意最好不要用这种方式,以免被攻击。
      

  3.   

    使用hql="from XXX where id = ?" 这样来避免乱码!