Hibernateはソートされたコレクションマッピングをサポートします。コンパレータを指定してソートを行うことができます。
ドキュメントから
Hibernateは、java.util.SortedMapおよびjava.util.SortedSetを実装するコレクションをサポートします。マッピングファイルでコンパレータを指定する必要があります。
<set name="aliases"
table="person_aliases"
sort="natural">
<key column="person"/>
<element column="name" type="string"/>
</set>
<map name="holidays" sort="my.custom.HolidayComparator">
<key column="year_id"/>
<map-key column="hol_name" type="string"/>
<element column="hol_date" type="date"/>
</map>
sort属性に許可される値は、ソートされておらず、自然であり、java.util.Comparatorを実装するクラスの名前です。
並べ替えられたコレクションは、実際にはまたはのように動作しjava.util.TreeSet
ます
java.util.TreeMap
。
ドキュメントから注釈を編集し、チェックします
3.4.6。コレクション関連の注釈
@Sort(type = SortType.COMPARATOR, comparator = TicketComparator.class)