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'
我想在 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'