Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > hibernate named query возвращает null'евой результ


Автор: jdev 18.3.2010, 22:04
Здравствуйте. 
При указании параметров в кириллице -- запрос возвращает нулевые результаты. Если же параметр в латинице -- все находит (-:
Пробовал запускать генерированный хибернатом sql в консоли(utf8) -- все находится и с кириллицей. 
  
environment: mysql 5.0.51, jboss 5.1.0 GA, jdk 1.6.0_12
кодировка в таблицах utf8, кодировка исходников utf8, АНТ собирает проект с параметром encoding="utf8", в persistence.xml указал <property name="hibernate.connection.characterEncoding" value="utf8"/>
Код

@NamedQuery(
        name="getOrders",
        query="SELECT ol FROM OrderList ol WHERE ol.customer LIKE 'Триумф'"
    )

быть может, упустил что-то очевидное.

Автор: RageSteel 19.3.2010, 06:43
А нормально-ли hibernate получает данные с русскими буквами?

Есть подозрения на то что сервер общается не на UTF-8. Я добавлял  ?useUnicode=yes&characterEncoding=UTF-8 к строке подключения.

Автор: jdev 19.3.2010, 11:37
(: 
нашел развернутый ответ на свой вопрос  http://www.warski.org/blog/?p=4,
буду пробовать, осталось два варианта

String utfValue = new String(dataBaseValue,”UTF-8″);

Код

<property name=”hibernate.connection.useUnicode” value=”true” />
<property name=”hibernate.connection.characterEncoding” value=”UTF-8″ />


RageSteel, спасибо! Добавление полей в persistence.xml -- не привело ни к чему. Задал параметры к строке подключения и заработало.
только в качестве разделителя '&' не подходит SAXParser в jboss его не понимает, нужно '&amp;'

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)