Hi Robert,
If the collection is mapped to a join table the ordering stays the same as you added the objects.
If you map the collection to backward reference you can set a static ordering in the mapping. This can not be changed at runtime. To use case specific ordering you have to implement a query in a property.
I have attached an example that shows both cases.
For changing the ordering in the mapping you can use this mapping settings:
<class name="A">
<field name="bs">
<collection>
<extension key="inverse" value="{auto}" />
<extension key="ordering" value="name desc" />
</collection>
</field>
</class>
The value can contain fields of the object itself but also fields of referenced objects by specifying the path.
All the best,
Jan Blessenohl
the Telerik team