Это работает:
<hibernate-mapping>
<class name="Train" table="Trains">
<id column="id" name="id" type="java.lang.String" length="4">
<generator class="assigned" />
</id>
<set name="trips" cascade="all">
<key column="trainId"/>
<one-to-many class="Trip"/>
</set>
</class>
</hibernate-mapping>
Но мои поездки, естественно, упорядочены по их scheduledDate
. Я хотел бы заменить Set
на List
. Изменение коллекции:
<list name="trips" cascade="all" order-by="scheduledDate">
<key column="trainId"/>
<one-to-many class="Trip"/>
</list>
не работает, так как теперь требуется <index/>
. Я не хочу добавлять индекс в свою таблицу, потому что упорядочение задается датой.
Как это можно сделать? Или я должен просто получить Set
из Hibernate, а затем отсортировать его самостоятельно в коде? Кажется ненужным, когда мы уже заказываем его БД.