axismundi wrote:
du musst das Attribut list-index verwenden.
bag kann man m. E. nicht sortieren.
<list name="carComponents"
table="CarComponents">
<key column="carId"/>
<list-index column="sortOrder"/>
<composite-element class="CarComponent">
<property name="price"/>
<property name="type"/>
<property name="serialNumber" column="serialNum"/>
</composite-element>
</list>
Das list-Element wollte ich bewusst nicht nehmen, weil es da immer Probleme gibt, wenn über die DB manuell einzelne Element gelöscht werden.
Wird z.B. das Element mit dem Index 2 in der DB gelöscht (nicht über die Java-Applikation), dann sind plötzlich nur noch Element mit den Indizes 0, 1, 3 vorhanden und Hibernate fügt an der Stelle 2 "null" ein. Das ist schlecht...
Deshalb habe ich eine Collection gewählt, bei der die Reihenfolge nicht mit abgespeichert wird, sondern die beim Lesen aus der DB jedesmal dynamisch sortiert wird. Eben per Comparator und sort-Element. Leider geht das jetzt ned...
Trotzdem danke. Hast Du vielleicht sonst noch ein Trick auf Lager?