Rejoindre des requêtes nommées dans JPA
-
09-10-2019 - |
Question
Je veux savoir si je peux joindre 2 requêtes nommées dans JPA. À titre d'exemple, j'ai deux suivantes requêtes nommées
1 - Obtenez tous les utilisateurs actifs
2 - obtenir tous les utilisateurs pour une société donnée
moi Est-il possible de me joindre au-dessus de deux requêtes nommées et obtenir obtenir tous les utilisateurs actifs pour une entreprise donnée.
La solution
Ne pas utiliser NamedQuery
pour cela. Directement en passant une chaîne de requête à la méthode est votre meilleur pari.
Vous devez comprendre que la méthode createNamedQuery(String name)
prend le nom d'une requête nommée. Considérant que, createNamedQuery(String qlString)
takes une chaîne de requête, donc cela correspond à votre besoin.
ou
Créer une NamedQuery
distincte pour ce but.
Autres conseils
moi Est-il possible de me joindre au-dessus de deux requêtes nommées et obtenir tous les utilisateurs actifs pour une société donnée .
Non, ce n'est pas possible. Soit écrire une requête intelligente du nom qui peut prendre des paramètres pour exprimer tous les cas (si possible) ou utiliser plusieurs requêtes nommées.
Et si vous utilisez JPA 2.0, l'API critères pourrait être une autre (meilleure) option de requêtes d'écriture de dynamiques.