[JPQL] Question sur une requête
Bonjour,
J'ai un petit soucis sur une requête JPQL:
Voici vite fait l'architecture des entités.
Agence
(n)
l
l
l
(1)
Materiel (n) ---------- (1) LienMaterielPoste
(1)
l
l
l
(n)
ModelMateriel
En gros, un materiel a:
- un modele (@ManyToOne)
- une agence (@ManyToOne)
- un ensemble de liensMaterielPoste (@OneToMany)
Je voudrais récupérer les matériels d'une agence et d'un modèle spécifique mais également ajouter une condition sur l'ensemble des liens (date de retrait inférieure à la date du jour). En SQL pas de soucis, mais en JPQL je n'obtient pas le résultat voulu.
Voici ma méthode:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| public List<Materiel> getAllMaterielsDispo(Agence a, ModeleMateriel m) {
String jpql = "SELECT r FROM Materiel r " +
" join r.agence a" +
" join r.modele m " +
" join r.liensMaterielPoste liens " +
" where a.id=?1 and m.id=?2 and liens.dateRetrait<?3";
Query query = PersistanceUnit.getInstance().getEm().createQuery(jpql);
query.setParameter(1, a.getId());
query.setParameter(2, m.getId());
query.setParameter(3, new java.util.Date());
return query.getResultList();
} |
Merci de m'aider.