Set是无序不可重复的集合,常用的实现类HashSet也是如此,另外还有个LinkedHashSet,在每个节点上通过一个链表串联起来,这样,就可以保证确定的顺序。对于希望有常量复杂度的高效存取性能要求、同时又要求排序的情况下,可以直接使用LinkedHashSet
回到正题,今天才发现这样写之后,就可以根据subTypes这个集合所映射的表中的id字段的顺序存储。
<set name="subTypes" inverse="true" order-by="id"> <key> <column name="parent_id" /> </key> <one-to-many class="go.derek.entity.SubType" /> </set>
此外还可以用LinkedHashSet来给list去重。
return new ArrayList<T>(new LinkedHashSet<T>(list));
Hibernate映射set集合,order-by的作用,布布扣,bubuko.com
原文:http://blog.csdn.net/exceptional_derek/article/details/21399271