WHERE 子句中的二进制值(Hibernate)

Binary value in WHERE clause (Hibernate)

我想在 WHERE 子句中 select 具有二进制值的行。 二进制值为十六进制:“07F4”

以下 HQL 语句不起作用 ("unexpected token X")。

from Agprfw where prfdatk1 = X'07F4'

试试这个:

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'