一尘不染

Hibernate条件中日期之间的限制

hibernate

您好,我在示例中使用了hibernate模式。对于bean Table Audit Trial,我想获取包含上限和下限的日期范围之间的审计试用。我的代码如下

Criteria criteria = session.createCriteria(AuditTrail.class);

criteria.add(Restrictions.between("auditDate", sDate, eDate));

我的开始日期是25/11/2010。且结束日期为25/05/2011。但是它只会将结果赋予。24/05/2011不执行包含性搜索。我正在使用SQL
Server。


阅读 461

收藏
2020-06-20

共1个答案

一尘不染

我认为您的auditDate实际上是一个时间戳。如果是这样的话,那是正常的,因为25/05/2011表示25/05/2011在0点(早上)。因此,当然,在2011年5月25日具有审计时间戳记的每一行都是在凌晨0点之后。

我会在您的结束日期前加上1天,然后使用auditDate >= sDate and auditDate < eDate

criteria.add(Restrictions.ge("auditDate", sDate)); 
criteria.add(Restrictions.lt("auditDate", eDate));
2020-06-20