Как решить проблему арабского значения в запросе Hibernate - PullRequest
0 голосов
/ 23 марта 2019

Когда я использую арабское значение в запросе HQL, он возвращает ноль.

Я добавил Unicode и UTF в источник данных MySQL.

Я получил SQL, сгенерированный из запроса Hibernate, и запустилэто в рабочей среде, и это дало мне результат:

Query q = se.createQuery("from Days where d_name = 'الخميس' " );

Я запускаю сгенерированный запрос SQL на рабочей среде, и он дает мне результат.Я также попытался выполнить запрос с помощью d_id, и он работает без проблем, поэтому я считаю, что проблема связана с арабскими значениями.

Я ожидаю, что результат вернется как объект, но он возвращает ноль!

1 Ответ

0 голосов
/ 24 марта 2019

Хотя добавление N перед арабскими значениями может решить вашу проблему, но добавление префикса ко всем значениям с N может привести к ужасным проблемам с производительностью - часто это приводит к тому, что запросы приводят к полному сканированию таблицы, а не к поиску в индексе.

Вы можете найти способ, используя utf-8, как предложено здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...