0

这是为评估所需结果而编写的代码:

   Calendar c7DaysAgo = Calendar.getInstance(); // 7 days ago
    c7DaysAgo.add(Calendar.DATE, -7);

    Calendar today = Calendar.getInstance(); // today
    today.add(Calendar.DATE, 0);

    Criteria criteria = session.createCriteria(Checkin.class)
            .add(Restrictions.like("fbuid", id))
            .add(Restrictions.between("date", today.getTime(), c7DaysAgo.getTime()));
    List<Checkin> checkinList = criteria.list();
    return checkinList.size();

正在命中以检索值的表值是:

| 编号 | 日期 |fbuid | 号码 |

| 1 |2012-12-04 18:41:34 | 1111 | 16 |

| 2 |2012-12-04 18:41:34 | 1111 | 2 |

我需要今天和前 7 天之间的行数。但我得到的值是 0 而不是 2。

请帮助我,因为我无法弄清楚出了什么问题!

4

1 回答 1

0

我意识到我的错误......之间的参数顺序错误......应该是

Criteria criteria = session.createCriteria(Checkin.class)
            .add(Restrictions.like("fbuid", id))
            .add(Restrictions.between("date", c7DaysAgo.getTime(),today.getTime())); 
于 2012-12-11T17:36:20.120 回答