一对多里对 set 的排序
2017-04-13 10:20
190 查看
一对多里面对
set
的排序,建议采用以下办法:
1、首先,将POJO
中的
set
成员的类型改为
TreeSet
类型,因为
TreeSet
是实现了
SortedSet
的可排序集合类。
private Set labproductflowinfos = new TreeSet(new FlowInfoComparator());//为
TreeSet
提供一个自定义的比较器
然后修改配置文件,为<set>
添加
sort
属性,属性取值可以为一个自定义的比较器。如下:
2、第三种方式比较简单就是在hbm配置文件里配置采取排序的序列。<set ... order-by="date asc" />第一个参数是选择排序的序列,第二个参数是升序还是降序。
set
的排序,建议采用以下办法:
1、首先,将POJO
中的
set
成员的类型改为
TreeSet
类型,因为
TreeSet
是实现了
SortedSet
的可排序集合类。
private Set labproductflowinfos = new TreeSet(new FlowInfoComparator());//为
TreeSet
提供一个自定义的比较器
然后修改配置文件,为<set>
添加
sort
属性,属性取值可以为一个自定义的比较器。如下:
public class FlowInfoComparator implements Comparator { public int compare(Object o1, Object o2) { if(o1 instanceof Labproductflowinfo && o2 instanceof Labproductflowinfo){ Integer s1 = ((Labproductflowinfo)o1).getSequenceNum(); Integer s2 = ((Labproductflowinfo)o2).getSequenceNum(); return s1.intValue() - s2.intValue(); } return 0; }} <set name="labproductflowinfos" inverse="true" cascade="all-delete-orphan" lazy="false" sort="com.zsc.hibernate.FlowInfoComparator">
2、第三种方式比较简单就是在hbm配置文件里配置采取排序的序列。<set ... order-by="date asc" />第一个参数是选择排序的序列,第二个参数是升序还是降序。
相关文章推荐
- Hibernate的Set映射(一对多)的排序问题
- Hibernate的Set映射(一对多)的排序问题
- hibernate 一对多 排序 set
- 对随机数“去重”和“排序”(使用set实现)
- 元素为自定义复合结构时 map,set 如何处理重复 key 及排序?
- Hadoop自定义排序和自定义数据类型使用(setSortComparatorClass和setGroupingComparatorClass)
- 黑马程序员对TreeSet集合中的元素排序的两种方式
- 为TreeSet集合增加比较器实现排序
- nyoj 8 一种排序(用vector,sort,不用set)
- COJ 1484合并排序set
- 【Redis缓存机制】7.SortSet排序集合类型操作
- Hibernate 一对多的联系(Set关联) 对象关系映射
- JavaSE8基础 Treeset<Integer> 无参构造函数实现自然排序
- PAT - 甲级 - 1113. Integer Set Partition (25) (排序)
- 浅谈java中的TreeMap 排序与TreeSet 排序
- 【java编程】Collection类之TreeSet按字符串长度排序
- Hibernate入门14 - Set与Map的排序
- set的排序条件
- Java基础知识强化之集合框架笔记47:Set集合之TreeSet保证元素唯一性和比较器排序的原理及代码实现(比较器排序)
- 集合接口(List,Set,Map)List(序列)排序--5,6