問題描述:在HQL語句中如果其中參數是中文,執行後會發現該參數爲亂碼。
解決方法:可以在hibernate.cfg.xml中加入如下語句:
這樣就可以解決傳入參數爲亂碼問題。
這個的確解決了在拼湊的HQL語句中的中文亂碼問題,不過如果用hibernate的更新方法時會報錯。
原因:hibernate.query.factory_class這個屬性是配置hibernate查詢翻譯器的工廠類,上面配置的是hibernate2.x的,在2.x時hibernate還不支持更新的HQL。在hibernate3.x中默認的翻譯器是3的,但是如果拼湊HQL語句中帶有中文就會亂碼。
解決方法:在寫HQL的時候不吧中文參數拼湊進去,用query的setXxx方法即可。