web-dev-qa-db-fra.com

comparaison de date jpql aujourd'hui

J'ai besoin d'une requête jpql pour trouver tous les LoadFileHistory dont la date de fin est supérieure à la date actuelle (depuis 00:00:00). Par exemple supérieur à 27/11/2012 00:00:00.

J'ai déjà celui-ci "select o from LoadFileHistory o where o.finishDate = CURRENT_DATE" mais ne me donne rien.

12
Manuel

Vous devriez obtenir la date du jour pour la requête comme détaillé ici (Java.util.Date a aussi l'heure, la minute, la seconde ...)

Le vous devez le fournir à votre requête:

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

Si vous recherchez un filtrage au niveau du temps avec la date. Cela a fonctionné pour moi.

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 est d'Apache commun.

2
A_01