List对象排序通用方法+Hibernateset排序.docVIP

List对象排序通用方法+Hibernateset排序.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hibernate的set排序 2009年09月15日 星期二 17:27 举例1: 在对应的hbm.xml文件中所需要修改的set标签加上order-by属性即可~ eg. set?name=courses?inverse=true?order-by=weekday asc, period asc, roomId asc key column?name=classID?not-null=true?unique=true?/ /key one-to-many?class=org.banana.mms.model.Course?/ /set 当然,order-by里用的是中间表的字段~ 举例2: 大家都知道one-to-many的排序可以通过配置一个order-by=** desc即可实现 ??? 如: ??? 代码 set name=clubMessage?table=club_Message?inverse=true?cascade=deleteorder-by=create_time desc? ????key column=club_id?/? ????one-to-many class=com.test.item.club.domain.ClubMessageVO?/? /set ??? 上面的hbm属性意义是:一个社区对应多条社区消息,同时将这些消息按create_time排序 import java.util.Comparator;? ??? import my.User;? ??? public class GBComparator implements Comparator{? ??? ???? public int compare(Object o1,?Object o2){? ???????? if(o1?==?null){? ???????????? return o2?==?null ? 0 : 1;? ????????}? ???????? if(o2?==?null){? ???????????? return -1;? ????????}? ???????????? ???????? if(o1 instanceof User??o2 instanceof User){? ???????????? return?((User)o1).getAccount().compareTo(((User)o2).getAccount());? ????????}? ???????????? ???????? return 0;? ????}? }? set? ???????????? name=users? ???????????? table=USER_GROUP_REL? ???????????? cascade=none? ???????????? inverse=true? ???????????? sort=my.GBComparator? ????????????key column=GROUPING_ID?/? ????????????many-to-many column=USER_ID?class=User?/? ????????/set 举例3: set name=userServiceSet order-by=service_id cascade=all inverse=true ??? key column=user_id / ?? one-to-many class=UserService/ ?? /set 注:order-by 的值service_id为 UserService对象所对应的数据库表的列名(字段名) 举例4: 其实也没有什么,内行的人觉得这个是小Case吧。呵呵,这里我不是想说具体的方法,主要是一个感想: map ?? name=propertyName ?? table=table_name ?? lazy=true|false ?? inverse=true|false ?? cascade=all|none|save-update|delete|all-delete-orphan ??sort=unsorted|natural|comparatorClass ??order-by=column_name asc|desc ?? ... 其他属性 ?? key ... / ?? map-key ... / ?? element ... / /map 很多人首先想到的是sort,而且sort已经给出了排序的实现,我们只管天上属性方可。可是我们大多程序员是从学 SQL 转到 Hibernate 这个 ORM 的持久层框架上来的,旧有的观念还是喜欢“order

文档评论(0)

ipad0c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档