1

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

4

1 に答える 1