HQL查詢中文亂碼問題

   

問題描述:在HQL語句中如果其中參數是中文,執行後會發現該參數爲亂碼。

解決方法:可以在hibernate.cfg.xml中加入如下語句:

這樣就可以解決傳入參數爲亂碼問題。

這個的確解決了在拼湊的HQL語句中的中文亂碼問題,不過如果用hibernate的更新方法時會報錯。

原因:hibernate.query.factory_class這個屬性是配置hibernate查詢翻譯器的工廠類,上面配置的是hibernate2.x的,在2.x時hibernate還不支持更新的HQL。在hibernate3.x中默認的翻譯器是3的,但是如果拼湊HQL語句中帶有中文就會亂碼。

解決方法:在寫HQL的時候不吧中文參數拼湊進去,用query的setXxx方法即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章