Именованные параметры с японскими символами в хранилище данных не работают - PullRequest
1 голос
/ 02 апреля 2011

Я работаю над приложением 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 результата, что является правильным.Возможно, это связано с символом кана (ト), но в любом случае это похоже на ошибку.Кто-нибудь тоже испытывал это, это известная ошибка, или я что-то делаю не так?Я думаю, я мог бы просто избежать именованных параметров, но я бы не стал.

Редактировать: в примере удалена опечатка, которой не было в моем исходном коде

Ответы [ 2 ]

0 голосов
/ 04 апреля 2011

Вы пробовали это:

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

Полагаю, вам не нужно указывать ":" в имени параметра.

Вы можете прочитать этот документ .

0 голосов
/ 02 апреля 2011

проблема заключается в кодировании переменной привязки.

Проверьте конфигурацию кодирования, этот аспект может зависеть от хранилища данных.

пока

...