13

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

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

4

2 回答 2

27

你应该得到今天的查询日期,就像这里详述的那样(java.util.Date 也有小时、分钟、秒......)

您应该将其提供给您的查询:

Query q = em.createQuery("select o from LoadFileHistory o where o.finishDate > :today ");
q.setParameter("today",todaysDateObject,TemporalType.DATE);
q.getResultList();
于 2012-11-27T14:20:09.423 回答
3

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

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 常见的。

于 2017-08-23T08:45:23.313 回答