今天的jpql日期比较

时间:2012-11-27 14:12:51

标签: java jpa jpql

我需要一个jpql查询来查找所有LoadFileHistory,其中finishDate大于当前日期(自00:00:00起)。例如大于27/11/2012 00:00:00。

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

2 个答案:

答案 0 :(得分:22)

你应该今天查询详细here的查询日期(java.util.Date也有小时,分钟,秒......)

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

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

答案 1 :(得分:1)

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

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