Hibernate映射set集合,order-by的作用

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));

此方法,既利用set去除了重复,又使用linked保持住了原顺序。

Hibernate映射set集合,order-by的作用,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。