Java 使用Hibernate在数据库中搜索整数
我想用like在MySQL数据库中搜索一个整数。我正在将jdk-12.0.2与Hibernate一起使用Java 使用Hibernate在数据库中搜索整数,java,mysql,sql,hibernate,jpql,Java,Mysql,Sql,Hibernate,Jpql,我想用like在MySQL数据库中搜索一个整数。我正在将jdk-12.0.2与Hibernate一起使用 如果不是整数,我可以使用以下代码: :what=“Help” (ArrayList)entityManager.createQuery(“从定义类似于:what”,Number.class的数字开始)。setParameter(“what”,what+“%”)。getResultList(); 这非常有效,并提供了我的数字数组列表。 如果我只使用SQL脚本,我可以使用: SELECT*FR
如果不是整数,我可以使用以下代码:
:what=“Help”
(ArrayList)entityManager.createQuery(“从定义类似于:what”,Number.class的数字开始)。setParameter(“what”,what+“%”)。getResultList();
这非常有效,并提供了我的数字数组列表。
如果我只使用SQL脚本,我可以使用:
SELECT*FROM juna where CAST(id为CHAR),如'1%';
但是如果我使用CAST(id为CHAR)
替换定义
,则会出现以下异常:
Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.QueryException: Could not resolve requested type for CAST : CHAR
有人能帮我解决这个问题吗?
(也欢迎您提出改进我的工作代码的建议)cast
不是jpql的一部分,您在调用EntityManager\createQuery
时使用它。您应该使用EntityManager#createNativeQuery
来代替普通sql。看