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

 

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

3个回答

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

排序可以: @OrderBy

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

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

一般我选择2

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

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!