Bonjour/Bonsoir
Je cherche a créer un méthode qui prend une java.util.Map<String,Object> qui contiendrait mes paramètres de requête ordonné suivant celui de la map, un peu du genre :
est ce possible avec jpa 2.0?
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public List<T> findWithNamedQuery( String stringQuery, Map<String, Object> params) { Query q = getEntityManager(). createNamedQuery(stringQuery). setParameter(params); return (List<T>) q.getResultList(); }
bien que la méthode de signature setParameter(java.util.Map) n'existe pas, alors est-il possible de boucler et ajouter à ma Query q un des paramètres à chaque itération tel que :
Ou Query serait elle figé à la première affectation?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public List<T> findWithNamedQuery( String stringQuery, Map<String, Object> params) { Query q = getEntityManager(). createNamedQuery(stringQuery); Iterator it = params.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, Object> pairs = (Map.Entry) it.next(); q.setParameter(pairs.getKey(), pairs.getValue()); } return (List<T>) q.getResultList(); }
Cordialement Khaled.Noordin
Partager