1
以下是我的代碼:NHibernate的2:的createQuery不支持中國文字
String hsql = "from Customer c where c.name='測試' ";
IQuery query = _session.CreateQuery(hsql);
query.List();
執行時,沒有拋出異常,但沒有查詢結果返回(他們應該返回基於條件c.name='測試'
)
這是SQL NHibernate爲hsql生成:
select customer0_.CUSTOMER_NO as CUSTOMER1_, customer0_.CODE as CODE9_, customer0_.NAME as NAME9_, customer0_.STATUS as STATUS9_, customer0_.LAST_OPE RATOR_NO as LAST5_9_
from CUSTOMER customer0_ where (customer0_.NAME='????')
hsql中的漢字'測試'變成'????'在SQL中。
當我通過Nhibernate添加客戶時,中文字符可以成功保存。這裏只有當我使用CreateQuery搜索文本時纔會出現這個問題。任何幫助將不勝感激。
我試過了。但仍生成的SQL是錯誤的。 –
你用過QueryOver嗎?這很奇怪,因爲我認爲HQL參數與用於保存數據的參數相同。 – dotjoe
我正在使用Nhibernate 2.1,並且沒有QueryOver我認爲。 –