免责声明:对于任何拼写错误,我深表歉意,因为英语不是我的主要语言。
我想在MySQL数据库中搜索like的Integer。我使用jdk-12.0.2
与Hibernate
如果不是整数,则可以使用以下代码:
:what = "Help"
(ArrayList<Number>) entityManager.createQuery("FROM Number WHERE definition LIKE :what", Number.class ).setParameter("what", what + "%").getResultList();
这完美地工作,并给了我我的数字ArrayList。
如果我仅使用SQL脚本,则可以使用以下命令:
SELECT * FROM juna where CAST(id as CHAR) like '1%';
但是,如果我使用CAST(id as CHAR)
替换definition
它,则会出现以下异常:
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。请参阅文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句