我需要一个jpql查询来查找所有的LoadFileHistory,它的finishDate大于当前日期(自00:00:00开始)。例如大于27/11/2012 00:00:00。今天jpql比较日期
我已经有这个“从LoadFileHistory o选择o o.finishDate = CURRENT_DATE”,但没有得到任何东西。
我需要一个jpql查询来查找所有的LoadFileHistory,它的finishDate大于当前日期(自00:00:00开始)。例如大于27/11/2012 00:00:00。今天jpql比较日期
我已经有这个“从LoadFileHistory o选择o o.finishDate = CURRENT_DATE”,但没有得到任何东西。
你应该得到今天的日期,如查询详细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();
'CURRENT_DATE'被评估为当前日期。请参阅:http://www.objectdb.com/java/jpa/query/jpql/date – Alex
如果您正在查找带日期的时间级别过滤。这对我有效。
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常见的。
...或者您可以在不添加外部依赖关系的情况下使用它并使用java.time ...'Instant.now()。减号(Duration.ofMinutes(15))' – Jules
如果你想要那些更大的为什么不用'''而不是'='? – Alex
亚历克斯put = CURRENT_DATE的想法是,比较是与日期,但与时间不同。我的意思是,只是27/11/2012不是27/11/2012 10:15:00 – Manuel