Look, there are two different things:
1. order-by attribute of collection element which defines default order in which Hibernate loads collection items
2. ORDER BY clause of HQL/SQL
JDK 1.4 is required for the first one (attribute). ORDER BY clause in HQL works regardless of JDK used so you can always write
Code:
sortedUsers = s.filter( group.getUsers(), "order by this.name" );
This example is from doc "5.7. Other Ways To Sort a Collection".
Also if you need sorted collection just for output, you can let Hibernte load collection as it wants and then create new collection sorted with any comparator you like.