首页 > 代码库 > 【Hibernate】set排序
【Hibernate】set排序
使用hibernate进行一对多操作的时候,普遍使用HashSet进行操作。但是HashSet是无序集合,对此可以使用TreeSet进行排序。
1.将HashSet改为TreeSet
private Set<EbgRequmentItem> items = new HashSet<EbgRequmentItem>();
--》
private Set<EbgRequmentItem> items = new TreeSet<EbgRequmentItem>();
2.新增TreeSet排序比较器对象
1 package ?????.comparator; 2 3 import ?????.EbgRequmentItem; 4 5 import java.util.Comparator; 6 7 /** 8 * 产品需求项排序比较器 9 * 10 * @author Tidy11 *12 */13 public class EbgRequimentItemComparator implements Comparator<Object> {14 15 @Override16 public int compare(Object o1, Object o2) {17 EbgRequmentItem eqi1=(EbgRequmentItem)o1; 18 EbgRequmentItem eqi2=(EbgRequmentItem)o2; 19 return eqi1.getName().compareTo(eqi2.getName()); 20 }21 22 }
3.在hbm.xml文件中添加sort属性
1 <set name="items" cascade="delete-orphan" inverse="true" lazy="true">2 <key column="PRODUCT_REQ_ID"></key>3 <one-to-many class="EbgRequmentItem"/>4 </set>
--》
1 <set name="items" cascade="delete-orphan" inverse="true" lazy="true" sort="??????.comparator.EbgRequimentItemComparator">2 <key column="PRODUCT_REQ_ID"></key>3 <one-to-many class="EbgRequmentItem"/>4 </set>
4.重启服务进行测试就可以了。
【Hibernate】set排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。