无法根据日期字段获取记录 = jhipster 中的当前日期

Posted

技术标签:

【中文标题】无法根据日期字段获取记录 = jhipster 中的当前日期【英文标题】:Unable to fetch records based on datefield=currentdate in jhipster 【发布时间】:2019-06-30 06:50:40 【问题描述】:

我一直在做 jhipster 的一个项目。到目前为止,我正在努力使用休息 api 来获取当前日期的表(约会)的记录。该代码没有错误但没有输出任何内容。(我的表中也有数据)。

`GET /appointmentspending : 获取所有状态为pending的约会。

 @param filter the filter of the request
 @return the ResponseEntity with status 200 (OK) and the list of appointments in body
 /
@GetMapping("/searchappointment")
@Timed
public List<Appointment> getAllAppointmentOfToday(@RequestParam(required = false) String filter) 
     //LocalDate localDate = LocalDate.now();
    // System.out.println("localDate");
  log.debug("REST request to get all Appointments with status pending");
          //LocalDate date = '2019-02-06'

    return StreamSupport
            .stream(appointmentRepository.findAll().spliterator(), false)
            .filter(appointment -> appointment.getLastvisited() == LocalDate.now())
            .collect(Collectors.toList());
`

【问题讨论】:

【参考方案1】:

在 Java 中,您不能将对象与 == 进行比较,因为它比较的是对象引用,而不是对象的实际值。类似于比较 C 和 C++ 中的两个指针。

为了比较它们的值,请使用对象的equals 方法。

所以你的代码现在看起来如下:

@GetMapping("/searchappointment")
@Timed
public List<Appointment> getAllAppointmentOfToday(@RequestParam(required = false) String filter) 
    // LocalDate localDate = LocalDate.now();
    // System.out.println("localDate");
    log.debug("REST request to get all Appointments with status pending");
    // LocalDate date = '2019-02-06'

    return StreamSupport
            .stream(appointmentRepository.findAll().spliterator(), false)
            .filter(appointment -> appointment.getLastvisited().equals(LocalDate.now()))
            .collect(Collectors.toList());
`

【讨论】:

以上是关于无法根据日期字段获取记录 = jhipster 中的当前日期的主要内容,如果未能解决你的问题,请参考以下文章

时间在 JHipster

根据表单字段中提供的日期查询 MS Access 中的最新记录

mysql记录根据日期字段倒序输出

ms 根据先前记录的日期访问自动填充日期字段

SQL:根据最近的日期选择一个字段中的值是唯一的记录

SQL:比较字符串文本字段中的日期范围