Partecipare query denominate in JPA
-
09-10-2019 - |
Domanda
vorrei sapere se posso unire 2 query denominate in JPA. Per fare un esempio ho due seguenti query denominate
1 - Ottenere tutti gli utenti attivi
2 - ottenere tutti gli utenti di una determinata società
E 'possibile per me partecipare sopra due query denominate e get ottenere tutti gli utenti attivi per una data azienda.
Soluzione
Non utilizzare NamedQuery
per questo. Direttamente passando una stringa di query al metodo è la soluzione migliore.
Si deve capire che il metodo createNamedQuery(String name)
prende nome di una query di nome. Considerando che, createNamedQuery(String qlString)
takes una stringa di query, quindi questo si adatta alle vostre necessità.
o
Crea una NamedQuery
separato per questo scopo.
Altri suggerimenti
E 'possibile per me partecipare sopra due query denominate e ottenere tutti gli utenti attivi per una data azienda .
No, questo non è possibile. O scrivere una domanda intelligente di nome che può assumere i parametri di esprimere tutti i casi (se possibile) o utilizzare diverse query denominate.
E se si utilizza JPA 2.0, l'API Criteri potrebbe essere un altro (migliore) possibilità di query dinamiche di scrittura.