Двоичное значение в предложении WHERE (Hibernate)

Я хочу выбрать строки с двоичным значением в предложении WHERE. Двоичное значение находится в HEX: "07F4"

Следующий оператор HQL не работает ("неожиданный токен X").

from Agprfw where prfdatk1 = X'07F4'
where prfdatk1 = '0x07F4' или where prfdatk1 = 0x07F4 работает?
Arulkumar 09.04.2019 10:29

Для ['0x07F4'] я получаю 0 строк, что неверно. Для [0x07F4] я получаю исключение (NumberFormatException: для входной строки: "0x07F4").

Philipp 09.04.2019 10:44
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
294
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуй это:

byte[] param = new byte[]{ 0x07, 0xf4};
List<Agprfw> rslt = em.createQuery("from Agprfw a where a.prfdatk1 = :b", Agprfw.class)
         .setParameter("b", param)
         .getResultList();

Ссылка на столбец как alias.column важна в JPQL, поэтому не пропускайте ее.

Ответ принят как подходящий

Я нашел решение:

from Agprfw where HEX(prfdatk1) = '07F4'

Другие вопросы по теме