Este contenido no está disponible en el idioma seleccionado.
6.3. Advanced collection mappings
6.3.1. Sorted collections Copiar enlaceEnlace copiado en el portapapeles!
Copiar enlaceEnlace copiado en el portapapeles!
Hibernate supports collections implementing
java.util.SortedMap
and java.util.SortedSet
. You must specify a comparator in the mapping file:
Allowed values of the
sort
attribute are unsorted
, natural
and the name of a class implementing java.util.Comparator
.
Sorted collections actually behave like
java.util.TreeSet
or java.util.TreeMap
.
If you want the database itself to order the collection elements, use the
order-by
attribute of set
, bag
or map
mappings. This solution is only available under JDK 1.4 or higher and is implemented using LinkedHashSet
or LinkedHashMap
. This performs the ordering in the SQL query and not in the memory.
Note
The value of the
order-by
attribute is an SQL ordering, not an HQL ordering.
Associations can even be sorted by arbitrary criteria at runtime using a collection
filter()
:
sortedUsers = s.createFilter( group.getUsers(), "order by this.name" ).list();
sortedUsers = s.createFilter( group.getUsers(), "order by this.name" ).list();