Dynamisch Sortieren einer NamedQuery? Seam/Hibernate/JPA
Ich habe mehrere NamedQuery
's definiert, und ich möchte in der Lage sein, um die Sortierung auf ein Feld einer Entität dynamisch, ohne das erstellen einzigartige NamedQuery
's für jedes Feld, das ich nach dem sortiert werden soll. Zum Beispiel:
Ich habe eine Entität namens MyObject, mit Felder 'a', 'b' und 'c'. Mein base-query ist "SELECT DISTINCT o FROM MyObject o
", aber ich möchte in der Lage sein, eine ORDER BY
- Klausel meiner Abfrage. Im Idealfall würde ich in der Lage, etwas zu tun, wie benannte Parameter, wo meine Abfrage würde wie folgt Aussehen:
SELECT DISTINCT o FROM MyObject o ORDER BY :order
Ich würde dann geben Sie den Bereich (a, b, c), dass ich nach dem sortiert werden soll. Gibt es eine Möglichkeit, dies zu erreichen, mit Seam/Hibernate/JPA? Gibt es eine bessere Strategie für die Bewältigung dieser?
- Diese Frage ist in Bezug auf Hibernate benannte Abfrage order by-parameter. Vielleicht die entsprechende Antwort helfen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benannte Abfragen nicht zur Laufzeit geändert.
//----- Bearbeitet-Teil
Ihre JPA-spezifischen.
WHERE
undHAVING
Klauseln. Haben Sie versucht, die Abfrage?Siehe meine Lösung in hibernate-namens-Abfrage -, um-durch-partameter
Grundlegende Idee ist die Speicherung der Abfrage ohne das 'order by-Klausel aus und Bearbeiten Sie auf zur Laufzeit.