1
다음을 지원하지 않는 것은 내 코드입니다 : 실행시NHibernate에 2 : CreateQuery 중국어 문자
String hsql = "from Customer c where c.name='测试' ";
IQuery query = _session.CreateQuery(hsql);
query.List();
는, 예외가 발생하지,하지만 쿼리 결과 반환
이는 (그들은 조건 c.name='测试'
를 기반으로 반환해야합니다) SQL Hibernate는 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에서 '测试'가 '????'가됩니다. in sql.
Nhibernate를 통해 고객을 추가 할 때 중국어 문자가 성공적으로 저장됩니다. 여기서 문제는 CreateQuery를 사용하여 텍스트를 검색 할 때뿐입니다. 어떤 도움을 주시면 감사하겠습니다.
관련
는나는 그것을 시도했다. 그러나 생성 된 SQL은 여전히 잘못되었습니다. –
QueryOver를 사용해 보셨습니까? HQL 매개 변수가 데이터를 저장하는 데 사용되는 매개 변수와 동일하다고 생각하기 때문에 이상합니다. – dotjoe
Nhibernate 2.1을 사용하고 QueryOver를 사용하지 않습니다. –