在数据存储区中使用日语字符命名的参数不起作用

时间:2011-04-02 17:21:16

标签: gwt parameter-passing datastore

我正在使用Google Web Toolkit应用程序,并使用JPA访问数据存储区。 我发现以下内容不起作用:

Query q = manager.createQuery("select x from Question x where x.name=:name");
q.setParameter("name", "ト<br />");
q.getResultList();

返回0结果。 但不使用命名参数确实有效:

Query q = manager.createQuery("select x from Question x where x.name='ト<br />'");
q.getResultList();

这会返回2个结果,这是正确的。也许它与假名符号(ト)有关,但无论如何它看起来像一个bug。有没有人经历过这个,它是一个已知的错误,还是我做错了什么?我想我可以避免命名参数,但我宁愿不这样做。

编辑:删除了原始代码中不存在的示例中的拼写错误

2 个答案:

答案 0 :(得分:0)

问题是编码绑定变量。

检查编码配置,这方面可能取决于数据存储区。

再见

答案 1 :(得分:0)

你试过这个:

q.setParameter("name", "ト<br />");

我猜你在参数名称中不需要“:”。

您可能需要阅读this doc