您好,我在示例中使用了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。
25/11/2010
25/05/2011
24/05/2011
我认为您的auditDate实际上是一个时间戳。如果是这样的话,那是正常的,因为25/05/2011表示25/05/2011在0点(早上)。因此,当然,在2011年5月25日具有审计时间戳记的每一行都是在凌晨0点之后。
我会在您的结束日期前加上1天,然后使用auditDate >= sDate and auditDate < eDate。
auditDate >= sDate and auditDate < eDate
criteria.add(Restrictions.ge("auditDate", sDate)); criteria.add(Restrictions.lt("auditDate", eDate));