我在使用日期(并忽略时间)对JPQL执行查询时遇到问题。这是我的方法:如何使用JPQL忽略日期查询中的时间?
@Override
public List<Event> findByDayAndStatus(User usr, Date d, char status) {
Query q = em.createQuery("SELECT e FROM Event as e where " +
"e.idusr=:usr AND e.datestart=:d AND " +
"e.status=:status", Event.class);
q.setParameter("usr", usr);
q.setParameter("datestart", d, TemporalType.DATE);
q.setParameter("status", status);
return q.getResultList();
}
问题是我收到一个空列表,当我在查询中省略日期参数时,我得到了我的数据。
我认为是日期问题,因为我查询的方式就像2013-03-20 00:00:00和数据库日期是2013-03-20 12:00:00。
你想要哪种数据,只需要2013-03-20 00:00:00?或2013-03-20的数据? – OQJF 2013-03-12 01:06:37
虽然我不太确定,但我仍然认为当前jpa2 – rafuru 2013-03-13 17:28:57