0

我对日期字段有一个复杂的问题。描述我想做什么:

  1. 我在我的数据库中有字段 date1 作为日期。

    @Temporal(TemporalType.DATE)
    private Date date1;
    
  2. 我想从此字段中获取数据并与当前日期进行比较。

    @Query("SELECT date1 FROM Table io WHERE io.date1 >= DATE_FORMAT(CURRENT_DATE, '%Y-%m-%e')")
    
     Date findAll2();
    
    public boolean CheckDate1(){
    
    
        currentDate = new Date();
    
        date1 = getInterimOrdersRepo().findAll2();
    
        if(currentDate.before(date1) || currentDate.equals(date1)){
        System.out.println("TRUE");
    
        System.out.println("currentDate = "+currentDate);
       return true;
        }
        else{
            System.out.println("FALSE");
            return false;
        }
        }
    

但我有一个错误:

 result returns more than one elements; nested exception is javax.persistence.NonUniqueResultException
  1. 当方法返回 false 我想用“”空数据更新字段 data1。

我使用jsf,我必须做什么?

4

1 回答 1

0

您似乎正在尝试将表中的多个值读取到单个变量中,这就是错误。findall2 返回一个数组(很可能),您应该读取其中一个值 - 尝试读取第一个值。

此外,我相信您可以在查询中跳过“DATE_FORMAT”,这是一种非常奇怪的代码编写方式。不清楚你想在这里实现什么

于 2013-10-22T12:48:14.857 回答