Hibernate Criteria API条件“like”用整数 [英] Hibernate Criteria API condition "like" with integer
问题描述
在我的数据库中,我有一个year列,它是一个整数。
In my database I have a column "year" which is an integer.
如何使用Criteria API(而不是HQL)搜索哪些记录包含,例如年份栏中的196 ...?
How can I search by using Criteria API (not by HQL) which records contain, for example "196..." in the year column?
我认为它应该是Restrictions.like,但我有例外:
I think it should be Restrictions.like, but I got exception:
SEVERE: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
推荐答案
更好更快的解决方案是使用Criterion.sqlRestriction(String sql)。您可以将sql形成为to_char(year)like '19%',请注意to_char是特定于数据库的。我不认为JPA支持to_char函数。
a better and faster solution would be to use Criterion.sqlRestriction(String sql). You can form the sql as, "to_char(year) like '19%'", be aware that to_char is database specific. I dont think JPA supports to_char function.
这篇关于Hibernate Criteria API条件“like”用整数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!