Hibernate Criteria API条件“like”用整数 [英] Hibernate Criteria API condition "like" with integer

查看:301
本文介绍了Hibernate Criteria API条件“like”用整数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的数据库中,我有一个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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆