日付を使用して (および時刻を無視して) 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 のようであるため、日付に問題があると思います。