Seam的服务器端分页模式?

时间:2011-01-04 20:00:58

标签: database jsf pagination richfaces seam

我有一个基于JBoss Seam,RichFaces和Hibernate / JPA的应用程序。我已经创建了一个DAO类和几个业务层类,用于根据各种标准检索数据。 (获取最新,浏览全部等)我想返回这些结果并为用户显示它们,允许用户通过它们进行分页。但是,由于返回的对象可能相当大(并且存在大量对象),我宁愿不使用像<rich:dataList /><rich:datascroller />这样的东西,这将要求我检索所有对象一个大的查询并将它们保存在内存中。

是否有任何普遍接受的模式用于执行数据集的服务器端分页?我正在寻找一个策略:

  • 使用起始索引和计数
  • 检索我的数据子集
  • 使用“下一个”和“上一个”按钮滚动数据集,从而使用更新的起始索引和计数检索数据的新子集

有没有人看到自定义DataModel对象允许我使用<rich:dataList /><rich:datascroller />但仍使用子集查询执行服务器端分页?我非常想知道你处理这种情况的方法。

1 个答案:

答案 0 :(得分:3)

Seam Application Framework中有一个内置的服务器端分页。只需查看EntityQuery个对象。

您可以轻松扩展这些类,并且在使用getResultList()

时基本上可以免费获得分页

但是,在开始在所有地方扩展这些课程之前,请先查看this blog post