我有一个实体Ticket
,其字段nextActionDate
为Date
/ Timestamp
。
我不清楚如何选择所有由于更新而导致的记录,即是现在还是过去(带有附加参数)。
在我的JPARepository
中,我想像这样注释方法
@Query("FROM Ticket t WHERE ... AND !t.nextActionDate.after(new Date())")
List<Ticket> findOpenedMail();
但是此操作失败,expecting '=', found 't'
。另外,我不确定new Date()
是在查询时计算还是在创建Bean时已经预先准备好。
那么,正确的语法是什么?
答案 0 :(得分:1)
您可以传递date
参数,并在查询中使用<
和>
运算符:
@Query("FROM Ticket t WHERE ... AND t.nextActionDate < :nextDate ")
List<Ticket> findOpenedMail(@Param("nextDate") Date nextDate);
并致电yourRepository.findOpenedMail(new Date());