Hibernate中日期对比应该使用命名参数绑定

本文介绍了一种在Hibernate HQL查询中使用命名参数来解决日期类型不匹配问题的方法。通过对比传统问号占位符的方式,发现命名参数能够有效避免类型不确定的错误,即使未明确指定日期类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在做ip/pv统计中,需要对年、月、周进行统计。在设计数据库的时候java是使用java.util.Date,数据库是使用datetime。但在用hql语句对两个日期进行比较的时候,Hql语句是这样写的:select count(*) from xx where xx.logintime > ? and xx.logintime < ?,老报错,说啥类型不确定。

用QBC查询应该不会出问题,但现在我需要的是统计,QBC满足不了要求,反复试了一下,终于发现在hql中使用命名参数就可以解决这个问题了。Hql应该这样写:select count(*) from xx where xx.logintime > :starttime and xx.logintime < :lasttime。

怪异的是就算用了命名参数绑定,但也不需要在绑定的时候设置具体类型,为什么命名参数绑定可以避开这个错误?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值