我正在尝试向我的存储库添加一个查询,以将存储在数据库中的日期与当前日期进行比较。
我的查询是这样的:
@Query("Select c from Customer c where c.terminated != 1 or c.terminationDate > <currentDate>")
public List<Customer> getTerminatedCustomers();
我可以为<currentDate>
插入什么内容?
如果一切都失败了,我可以在方法中添加一个参数,并将当前日期传递给查询。但如果可能的话,我宁愿选择更优雅的解决方案。
答案 0 :(得分:24)
这个问题实际上是this one的副本。根据Java Persistence API规范部分4.6.17.2.3,预定义函数CURRENT_DATE
,CURRENT_TIME
和CURRENT_TIMESTAMP
。因此查询必须定义为
select c from Customer c where c.terminated != 1 or c.terminationDate > CURRENT_DATE