Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对大于的日期执行休眠查询_Java_Hibernate_Spring Mvc - Fatal编程技术网

Java 对大于的日期执行休眠查询

Java 对大于的日期执行休眠查询,java,hibernate,spring-mvc,Java,Hibernate,Spring Mvc,我一直试图找到一种方法来查询表中修改日期大于7天的所有日期 以下是我在工作中得到的一些东西,但它不会起作用: @SuppressWarnings({ "unchecked", "rawtypes" }) public List<Ownership> findOwnersByDate() { log.debug("finding a filtered list of Ownerships"); Session session = getSessionFactor

我一直试图找到一种方法来查询表中修改日期大于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;
    }
}
@SuppressWarnings({“unchecked”,“rawtypes”})
公共列表FindDownersByDate(){
debug(“查找已筛选的所有者列表”);
会话会话=getSessionFactory().getCurrentSession();
试一试{
session.beginTransaction();
Criteria crit=session.createCriteria(Ownership.class)
.add(Restrictions.gt(“modDate”,新的整数(7)));
列表结果=crit.List();
log.debug(“成功获取筛选的所有权,
结果大小:“+results.size());
返回结果;
}捕获(运行时异常re){
log.debug(“查询失败”,re);
log.error(“获取过滤的所有权失败”,re);
投掷re;
}
}

不要将
新整数(7)
传递到
Restrictions.gt()
,而是尝试传递与当前日期减去7天相对应的日期对象。您可以为此使用Calendar类,例如:

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -7);
...
Criteria crit = session.createCriteria(Ownership.class)
    .add( Restrictions.gt("modDate", cal.getTime() ) );

尝试将日期/日历对象放入
gt()
中,而不是整数,无论
modDate
是哪种类型。