AzurerCao
2013-05-31 10:14
浏览 195
已采纳

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

 

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

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

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

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

    排序可以: @OrderBy

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 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 2013-05-31 16:13

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

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题