Sortiert die Ruhezustandssammlung beim Abrufen aus der Datenbank

8

Ich habe ein Objekt Foo mit einer Liste von Bar. Gibt es eine Möglichkeit, meine Klasse so einzurichten, dass getBars () eine Liste zurückgibt, die mit Collections.sort sortiert wurde? Mit anderen Worten, ich möchte Collections.sort ausführen, wenn die Liste zum ersten Mal ausgefüllt wird. Zur Zeit rufe ich sort an, wenn ich die Sammlung abrufe, was überflüssig sein kann und leicht vergessen wird.

    
schmmd 22.02.2011, 17:06
quelle

5 Antworten

24

Verwenden Sie J2EE-Style-Mappings mit Hibernate-XML-Dateien oder verwenden Sie JPA-annotierte JavaBeans?

Wenn Sie JPA verwenden, können Sie die @OrderBy Anmerkung, damit die Datenbank die Sammlung für Sie sortieren kann. Sie können auch @Sort verwenden Mach es auf der Java-Seite.

Wenn Sie HQL schreiben, sagen wir in @NamedQuery , können Sie die ORDER BY -Klausel.

Viele Möglichkeiten, es zu tun!

    
Matt Ball 22.02.2011, 17:11
quelle
7

Ich denke, wenn Sie die Eigenschaft mit @Sort kommentieren, wird sie automatisch sortiert

Sie haben auch die Möglichkeit, eine benutzerdefinierte Comparator Klasse:

%Vor%

Referenz:

Sean Patrick Floyd 22.02.2011 17:10
quelle
3

Überprüfen Sie die Hibernate-Dokumentation für sortierte Sammlungen

Ссылка .

Sie können auch eine andere Methode in Ihr DAO einfügen, die hql verwendet, um die untergeordneten Elemente abzurufen, die Sie über hql sortieren können.

Wenn das Sortierverfahren nicht auf einer einzigen Spalte basiert, habe ich keine andere Wahl, als die Sortierung selbst vorzunehmen. Sie können die Logik zu Ihrem Domänenmodell hinzufügen ...

    
hvgotcodes 22.02.2011 17:11
quelle
3

Wenn Sie die XML-Konfiguration verwenden, können Sie order-by attribute: -

setzen %Vor%

Auf diese Weise erhalten Sie beim Aufruf von foo.getBars() in diesem Beispiel Bar Objekte geordnet nach Balkennamen.

    
limc 22.02.2011 17:19
quelle
0

Das Sortieren der Liste, wenn Sie aus der DB auswählen, wäre eine bessere Wahl (db sortiere sie), anstatt sie nach der Auswahl zu sortieren.

    
fmucar 22.02.2011 17:13
quelle

Tags und Links