您好,我在示例中使用了休眠模式。对于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。
最佳答案
我认为您的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));