首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nhibernate 2: CreateQuery不支持中文

Nhibernate 2: CreateQuery不支持中文
EN

Stack Overflow用户
提问于 2012-06-07 21:46:30
回答 1查看 625关注 0票数 1

以下是我的代码:

代码语言:javascript
复制
String hsql = "from Customer c where c.name='测试' ";
IQuery query = _session.CreateQuery(hsql);
query.List();

执行时,不抛出异常,但不返回查询结果(应根据条件c.name='测试'返回)

这是为hsql生成的sql NHibernate:

代码语言:javascript
复制
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搜索文本的时候。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-07 21:59:06

你能用一个参数来试一下吗?

代码语言:javascript
复制
String hsql = "from Customer c where c.name=:name";
IQuery query = _session.CreateQuery(hsql).SetString("name", "测试");
query.List();

相关Unicode String in Hibernate Queries

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10933144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档