Frage

Also, wenn meine PPV Abfrage wie folgt lautet: Wählen Sie verschiedene p von Eltern p LEFT JOIN holen p.children Auftrag von p.someProperty

I Ergebnisse richtig von p.someProperty bestellt zurückkommen, und ich meine p.children Sammlung richtig eifrig geholt und bevölkert bekommen. Aber ich mag meine Frage etwas haben, wie „Ordnung durch p.someProperty, p.children.someChildProperty“, so dass die Sammlung innerhalb jeden übergeordneten Objekts bevölkert wurde Unter geordnet nach someChildProperty.

Das scheint intuitiv, wenn ich in Bezug auf die SQL-denken, die tatsächlich für diese Anrufe erzeugt wird, aber ich denke weniger, wenn es wieder auf hierarchische Objekte abzubilden versucht.

War es hilfreich?

Lösung

Um die Erhaltung, verwenden Sie TreeSet . Soweit innerhalb Elternteil aus einer Sammlung Sortierung betrifft, tun Sie es einfach in Ihrem Code mit Vergleicher .

Nun, versuchen Sie dies auf Ihrer Sammlung Definition in Ihrer Muttergesellschaft Klasse. Ich hoffe, dass Sie meine Nummer bekommen.

Sie können diese JPA-Annotation verwenden,

@javax.persistence.OrderBy(value = "fieldName")

oder diese Hibernate spezifisch,

@org.hibernate.annotations.OrderBy(clause = "FIELD_NAME asc")

und Sie können auch diese,

@org.hibernate.annotations.Sort(type = SortType.NATURAL)

oder

@org.hibernate.annotations.Sort(type = SortType.COMPARATOR)

Im Fall des Vergleichs muss ein Komparator vorhanden sein. Andere könnten nur mit String Sammlungen arbeiten.

Andere Tipps

Adeel im Grunde hat diese genagelt. Sie können auch solche mit einer Liste verwenden, die von Bedeutung sein könnte, wenn Ihre Sammlungen die gleiche Einheit mehr als einmal enthalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top