2

変更された日付が 7 日より古いテーブル内のすべての日付を照会する方法を見つけようとしています。

これは私が作品に持っていたものですが、うまくいきません:

    @SuppressWarnings({ "unchecked", "rawtypes" })
public List<Ownership> findOwnersByDate() {
    log.debug("finding a filtered list of Ownerships");
    Session session = getSessionFactory().getCurrentSession();
    try {
        session.beginTransaction();
        Criteria crit = session.createCriteria(Ownership.class)
        .add( Restrictions.gt("modDate", new Integer(7) ) ); 
        List results = crit.list();
        log.debug("get filtered ownerships successful, 
                    result size: " +  results.size());
        return results;
    } catch (RuntimeException re) {
        log.debug("query failed", re);
        log.error("get filtered ownerships failed", re);
        throw re;
    }
}
4

1 に答える 1

3

に渡す代わりに、現在の日付から 7 日を引いた日付に対応する Date オブジェクトを渡してみてくださいnew Integer(7)Restrictions.gt()そのために Calendar クラスを使用できます。

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -7);
...
Criteria crit = session.createCriteria(Ownership.class)
    .add( Restrictions.gt("modDate", cal.getTime() ) );
于 2013-03-28T20:00:16.723 に答える