Hibernate Criteria 查询日期条件

如何在Hibernate中使用Criteria对数据库中的时间类型字段进行条件查询比如数据库中有birthday字段,需要查询出所有12月份过生日的数据使用sql可以bi... 如何在Hibernate中使用Criteria对数据库中的时间类型字段进行条件查询
比如数据库中有birthday字段,需要查询出所有12月份过生日的数据
使用sql可以birthday like '%-12-%'
用sql函数可以month(birthday) = 12
如果用Criteria如何实现类似的查询?
直接用Restrictions.like的话会出现java.lang.ClassCastException异常
Date类型不会无法直接转型成String
请问正确的使用Criteria指定查询日期字段中某一部分是用什么方法。
万分感谢
展开
 我来答
發呆碼字員
2014-12-24 · TA获得超过331个赞
知道小有建树答主
回答量:435
采纳率:0%
帮助的人:264万
展开全部

需要先转换格式

你直接用会出现

所以你最好转一下格式再来用

追问
我是想查询所有月份是12的字段
但是如果把条件转换成日期类型的话 Date类型是一定会包含完整日期的
比如new SimpleDateFormat("MM").parse("12");的话生成的日期是
1970-12-01 00:00:00.0
还是没办法指定查询12月
有没有什么办法可以让Criteria使用Sql函数
类似month()这样的方法获取到字段的月份直接比较?
追答
我知道有一种SQL是
sql = "select * from superwin.test "
+ "where DATE_FORMAT(c16,'%Y%m%d%H%i%s') >= '" + DateUtil.formatDate("yyyyMMdd", ddeTime)+ "084500" + "' "
+ "and DATE_FORMAT(c16,'%Y%m%d%H%i%s') <= '" + DateUtil.formatDate("yyyyMMdd", ddeTime) + "134500" + "' ";

你可以看看你的有没有这类型的!!!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式