今天的 jpql 日期比较

2022-09-03 18:10:26

我需要一个jpql查询来查找所有strangerDate大于当前日期的LoadFileHistory(自00:00:00以来)。例如大于 27/11/2012 00:00:00。

我已经有这个“从LoadFileHistory o中选择o,其中o.finishDate = CURRENT_DATE”,但什么也没得到。


答案 1

您应该获取查询中的今天日期,如此处所示(java.util.Date也有小时,分钟,秒...)

您应该将其提供给查询:

Query q = em.createQuery("select o from LoadFileHistory o where o.finishDate > :today ");
q.setParameter("today",todaysDateObject,TemporalType.DATE);
q.getResultList();

答案 2

如果您正在寻找带有日期的时间级别过滤。这对我有用。

Date now = DateUtils.addMinutes(new Date(), -15);
Query q = em.createQuery("Select u From Users u Where u.dateCreated > :today");
q.setParameter("today",now,TemporalType.TIMESTAMP);

DateUtils是apache常见的。


推荐