提问者:小点点

在数据库中搜索具有Like Hibernate的整数


免责声明:我对任何拼写错误表示歉意,因为英语不是我的主要语言。
我想在MySQL数据库中搜索一个整数。 我正在使用JDK-12.0.2Hibernate

如果它不是整数,我可以使用以下代码:

:what = "Help"
(ArrayList<Number>) entityManager.createQuery("FROM Number WHERE definition LIKE :what", Number.class ).setParameter("what", what + "%").getResultList();

此操作非常有效,并给出了我的数组列表。

如果我只使用一个SQL脚本,我可以使用以下命令:

SELECT * FROM juna where CAST(id as CHAR) like '1%';

但如果使用强制转换(id as CHAR)替换定义,则会出现以下异常:

Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.QueryException: Could not resolve requested type for CAST : CHAR

有人能帮我解决这个问题吗? (也欢迎改进我工作代码的建议)


共1个答案

匿名用户

cast不是jpql的一部分,您在调用EntityManager#CreateQuery时使用它。 您应该使用EntityManager#CreateNativeQuery来使用纯SQL。 请参阅文档。