[Hibernate] Criteria sur différence entre deux dates ?
Bonjour,
J'ai un pojo avec une date de début et une date de fin, je souhaiterais faire un Criteria sur la différence entre ces deux dates (différence en minutes...).
J'ai essayé plusieurs tentatives mais rien ne fonctionne..
Essai n°1 :
Code:
criteria.add(Expression.ge("minute(mcHoroFin-mcHoroDeb)", duree));
La je me heurte déjà au problème que je ne trouve pas de méthode avec hibernate pour calculer une différence entre deux dates en minutes, minute() ne semblant pas être bon...connaissez-vous une solution ? Ensuite deuxième interrogation sur cette solution : est-il possible de faire une opération dans un Expression ?
Essai n°2 : Les formula
Dans mon POJO j'ai défini un attribut "mcDuree" avec une annotation @formula :
Code:
1 2 3 4
| @Formula("minute(mcHoroFin-mcHoroDeb)")
public Integer getMcDuree() {
return mcDuree;
} |
il me suffirait ensuite de faire un
Code:
criteria.add(Expression.ge("mcDuree", duree));
Biensur cela ne fonctionne toujours pas, mon problème essentiel étant de trouver comment faire une soustraction en minutes entre deux dates.
Ne connaissant pas les formula, peut être que je m'y suis mal pris (hors utilisation de la fonction minute qui ne fonctionne pas).
Pouvez vous me conseiller ?
Merci d'avance
Loïc