`
uule
  • 浏览: 6308099 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

一对多里对 set 的排序

阅读更多

一对多里面对 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" />第一个参数是选择排序的序列,第二个参数是升序还是降序。

分享到:
评论

相关推荐

    set.list.map接口

    3.Map(映射&lt;集合&gt;)是无序的,是一种把键对象和值对象进行映射的集合,它每一个元素都包含一对键对象和值对象,给出键对象就可以得到值对象,键对象不允许重复,对值没有要求,多个任意键对象可以映射到一个值对象...

    Hibernate学习笔记_songjignhao_1

    内容很详细,有代码,包括:一对多双向关联关系、一对多双向自身关联关系、一对一关联关系(主键关联、外键关联)、一对多与一对一结合、多对多关联关系、Map、Set、List与Bag映射关系、查询排序(内存排序和数据库...

    redset:Redis支持的排序集可用于协调分布式工作

    重设 您可能不需要像Celery或RQ这样的重量级人物。 维护AMQP服务器可能会过大。 有一种更简单,更轻松的方式来分发工作。...无需监视繁重的AMQP服务对多个生产者和消费者都是安全的使用序列化器无缝,简单地与Pyth

    Java对象排序、中文排序、SortedSet排序使用和源码讲解

    在C、C++中有很多排序算法,但是通常排序算法不得不让程序员在写代码的过程中陷入对底层很多指针和位置的理解,java不希望这样,所以排序大多可以由java帮你做掉,例如,你要对一个数组排序,通过:Collections.sort...

    Redis从入门到精通(10):redis的sorted_set数据类型详解

    前面提到的几种数据类型都各有特点,但是如果想对数据进行排序却做不到,想要数据能够按照某种特色进行排序,需要用到一种新类型,sorted_set。 我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在...

    Map和Set的区别

    set只有值,可以认为只有一个数据,并且set中元素不可以重复且自动排序,如果需要重复则使用multiset,要说区别的话,存储的东西不一样,应用场景不一样,支持的操作也不一样,很多不同。  map和set支持快速查找和...

    将MySQL查询结果按值排序的简要教程

    这是很多人都提过的问题,下面就教您如何对MySQL查询结果按某值排序,如果您感兴趣的话,不妨一看。 之前有一个功能修改,要求MySQL查询结果中: id name * * * 1 lucy ... 3 lucy ... 2 lily ... 4 lucy ... 名字...

    java面试宝典

    (如:一对多、多对多的关系) 22 99、说下Hibernate的缓存机制 22 100、Hibernate的查询方式 23 101、如何优化Hibernate? 23 102、Struts工作机制?为什么要使用Struts? 23 103、Struts的validate框架是如何验证的...

    C++第一次大作业

    对你完成程序的第一部分和第二部分进行如下改变. R3.1) 这个将要求你像Print()函数那样作为const来定义. 例如: void Print() const { ...} R3.2) . 改变一下SetOfPersons类里的public接口,以便可以让它们需要的...

    西安电子科技大学java作业:学生信息管理系统,附详细问题分析、代码思路(初级)

    5)编写一个测试类Test,在该类中提供验证以下功能的操作菜单:可以创建任意多个Student对象、可选择对实例对象进行修改姓名操作、修改年龄操作、设置绩点操作、可对于同一学院的同学按GPA排序,并输出排序后的所有...

    咬:最小的多线程键值存储。 等待消息到GET和SET值的套接字

    将创建一个./data/DB.json文件,并对信息进行排序。 怎么跑 服务器像我一样在127.0.0.1:1984上运行: cargo run --release --p server 客户端只是连接到127.0.0.1:1984并发送/接收消息的简单测试。 cargo run --...

    论文研究-Pythagorean模糊环境下基于交叉熵和TOPSIS的多准则决策方法.pdf

    考虑到Pythagorean模糊集(Pythagorean Fuzzy Set,PFS)具有的优势,提出了一个Pythagorean模糊环境下解决多准则决策(Multicriteria Decision Making,MCDM)问题的新方法。根据TOPSIS理论计算Pythagorean模糊环境...

    javascript文档

    for...in 语句t 对应于对象或数组中的每个元素执行一个或多个语句。 fromCharCode 方法 返回 Unicode 字符值的字符串。 Function 对象 创建一个新的函数。 function 语句 声明一个新的函数。 getDate 方法 使用...

    Quartus_II使用教程

    对这一自己设计的芯片进行打包。点file——create——create symbol file for current file, 如图9. 图9 生成一个和设计图名字一样的bsf文件,即为打包的芯片。 在memory设计图中,双击空白处,输入cdu16...

    论文研究-区间直觉乘法偏好信息下的多属性决策方法.pdf

    定义了区间直觉乘法数的得分函数和精确函数,并给出了区间直觉乘法数的一种排序方法。定义了区间直觉乘法数的加权平均算子和加权几何算子,进而给出决策者对方案的偏好信息以区间直觉乘法数给出的决策方法,并进行...

    JScript 语言参考

    for...in 语句t 对应于对象或数组中的每个元素执行一个或多个语句。 fromCharCode 方法 返回 Unicode 字符值的字符串。 Function 对象 创建一个新的函数。 function 语句 声明一个新的函数。 getDate 方法 使用...

    java常用工具类的使用

    比如对一个数组进行排序,程序员可以写如下排序算法: 代码演示:数组排序 public static void sort(int[] arrs) { boolean isSwap = false; for (int i = 0; i ; i++) { isSwap = false; for (int j = arrs....

    phpRedisAdmin

    2、支持更多的数据类型:string、list 、set 、sorted set 、hash (参考:http://www.cnblogs.com/xhan/archive/2011/02/02/1948891.html) 3、与memcache类似,数据都会存在内存中,这样速度更快,但是redis有一...

    微软JavaScript手册

    for...in 语句t 对应于对象或数组中的每个元素执行一个或多个语句。 fromCharCode 方法 返回 Unicode 字符值的字符串。 Function 对象 创建一个新的函数。 function 语句 声明一个新的函数。 getDate 方法 使用...

    sourcetree-reorder-bookmarks:在 SourceTree for Windows 上按字母顺序重新排序书签的 powershell 脚本

    如果您在 Windows 上使用并且您有很多存储库,那么您可能会对无法搜索书签或按字母顺序自动排列书签这一事实感到恼火。 已多次请求此功能: 我相信这会在某一天得到解决,但目前唯一的选择是通过将它们按顺序拖动来...

Global site tag (gtag.js) - Google Analytics