为当前日期创建查询匹配

时间:2012-09-18 11:00:55

标签: jpa spring-data spring-data-jpa

  

可能重复:
  Example of using CURRENT_DATE in JPA query

我正在尝试向我的存储库添加一个查询,以将存储在数据库中的日期与当前日期进行比较。

我的查询是这样的:

@Query("Select c from Customer c where c.terminated != 1 or c.terminationDate > <currentDate>")
public List<Customer> getTerminatedCustomers();

我可以为<currentDate>插入什么内容?

如果一切都失败了,我可以在方法中添加一个参数,并将当前日期传递给查询。但如果可能的话,我宁愿选择更优雅的解决方案。

1 个答案:

答案 0 :(得分:24)

这个问题实际上是this one的副本。根据Java Persistence API规范部分4.6.17.2.3,预定义函数CURRENT_DATECURRENT_TIMECURRENT_TIMESTAMP。因此查询必须定义为

 select c from Customer c where c.terminated != 1 or c.terminationDate > CURRENT_DATE