u011172178
2013-05-31 10:14 阅读 191
已采纳

Hibernate中通过关联映射取得结果集对结果进行排序、分页的方法

 

 在Hibernate中通过关联映射, 例如OneToMany等取得一个实体的属性结果集时有没有办法对结果进行排序或者分页. 直接通过HQL或者SQL可以直接利用HQL\SQL进行排序分页等操作, 但是如果这类关联映射不支持这些操作那么关联映射的作用感觉也不是很大了. 例如一个User实体有一个Set<Logs>属性, 即一个用户有N多操作日志,OneToMany的, 那么如果通过User.getLogs()取得的结果集将是全部查询···

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    u011968831 sunyi 2013-05-31 10:52

    作为属性,分页应该不行.

    排序可以: @OrderBy

    点赞 评论 复制链接分享
  • jinnianshilongnian jinnianshilongnian 2013-05-31 12:15

    1、lazy + Filter,如
    sortedUsers = s.createFilter( group.getUsers(), "order by this.name" ).list();

    2、如果数据量多 直接启用其One-To-Many

    一般我选择2

    One-To-Many只有在那种数据量比较少的情况我采用 如订单-订单明细

    点赞 评论 复制链接分享
  • imm0rtal imm0rtal 2013-05-31 16:13

    实现排序是可以的,在配置文件中可以配置:

    分页是在后台不能直接实现的,可以到前台进行假分页。

    点赞 评论 复制链接分享

相关推荐