Joining benannten Abfragen in JPA
-
09-10-2019 - |
Frage
Ich möchte wissen, ob ich 2 benannten Abfragen in JPA beitreten können. Als Beispiel habe ich zwei folgenden benannten Abfragen
1 - Holen Sie sich alle aktiven Nutzer
2 - erhalten alle Nutzer für ein bestimmtes Unternehmen
Ist es möglich für mich, über zwei benannten Abfragen zu verbinden und get erhalten alle aktiven Nutzer für ein bestimmtes Unternehmen.
Lösung
Verwenden Sie NamedQuery
nicht dafür. einen Abfrage-String an die Methode direkt vorbei ist die beste Wahl.
Sie müssen verstehen, dass die Methode createNamedQuery(String name)
Namen einer benannten Abfrage dauert. Während, createNamedQuery(String qlString)
takes eine Abfrage-String, so dass diese Ihren Bedarf passt.
oder
Erstellen Sie eine separate NamedQuery
für diesen Zweck.
Andere Tipps
Ist es möglich für mich, über zwei benannten Abfragen zu verbinden und erhalten alle aktiven Nutzer für ein bestimmtes Unternehmen .
Nein, das ist nicht möglich. Entweder schreibt eine intelligente benannte Abfrage der Parameter übernehmen kann alle Fälle zum Ausdruck bringen (wenn möglich) oder mehr benannte Abfragen verwenden.
Und wenn Sie JPA 2.0 verwenden, die Criteria API könnte eine weitere (besser) seine Option Schreib dynamischer Abfragen.