当前位置: 首页 > 知识库问答 >
问题:

Primeface使用纯SQL的可数据延迟加载

乜昆
2023-03-14

这是我在Stack Overflow上的第一篇文章。在发布之前,我研究了很多。在我使用Java Primefaces的系统中,我使用普通的SQL。我在第三个企业项目中,我更喜欢这种方式。

我找不到任何使用普通SQL的例子,只有使用框架(JPA等)

我知道在数组列表中我会手动传递限制。选择... from... ORDER BY... LIMIT

但是我需要一个完整的例子,使用数据库(不是内存中的静态列表)的真实例子,说明如何使用普通SQL实现延迟加载。

有人能帮我吗?

共有1个答案

商品
2023-03-14

由于这是一个非常笼统的问题,我只能给出一个非常笼统的答案。

通常,您希望通过应用存储库模式从持久性中抽象出来。

话虽如此,LazyDataModel只是将表示层与应用程序核心解耦。您至少需要实现LazyDataModel的加载方法。由于解耦,使用由JPA、SQL、Collections或其他支持的LazyDataModel没有太大区别。

load-Method只调用存储库的方法,例如,获取所有匹配对象的数量以及所请求页面的匹配对象。然后调用setRowCount(这可能在PrimeFaces的最新版本中有所改变)并返回对象列表。

如果希望行是可选的,还需要实现< code>getRowData(String)和< code>getRowKey(T)。

根据您的用例,应用过滤器可能有点棘手,但这不是数据模型的任务,而是存储库的任务。

你可以在Primeface找到很多留档。

 类似资料:
  • 我正在尝试为我的JSF数据表实现延迟加载,我的应用程序正在使用JSF2.0。Spring3和冬眠4。 我有以下的道 在ManagedBean中,我有 在实体类中 我面临的问题是,当我尝试将我的应用程序部署到weblogic 10.3.6时,我得到以下异常。 如何解决此问题? 另一点是,除了使用以下内容之外,还有其他方法可以获取用于延迟加载的行计数吗? 谢谢

  • 在我的JSF的数据中,我已经实现了延迟加载,当我分页通过记录时,执行下一组记录需要大约4到5秒钟的时间,实际上执行结果应该不到一秒钟。 这种情况发生在我实现它的方式上,我不知道如何解决这个问题。 扩展LazyDataModel的DataModel类 在道课上 有人能解释一下是什么原因导致了这些记录分页的延迟吗? 如果我删除以下内容 并执行,然后它是完全执行没有延迟,然而问题是总是5,这是我的每页默

  • 我想,我的java代码是正确的,但记录并没有显示在dataTable上。 请检查下面的代码。我不知道我在哪里犯了错误。 .xhtml JAVA getResultList getResultList方法返回一个正确的值,我调试它。我认为问题在于userDataList。

  • 是否有一些简单的方法或现成的组件可以通过Primefaces在中使用延迟加载,但不需要分页(也不是标准的)? 我需要以下特性:加载页面时,dataTable只包含100行中的前10行(快速响应时间)。其余的行会自动加载到,但用户已经可以处理第一部分数据了。 谢谢你的建议。在最坏的情况下,我将不得不自己实施类似的行为,但可能有人已经有了一些经验。

  • 问题内容: 用户在Carplay中滚动时如何延迟加载项目? 我正在使用MPPlayableContentDataSource中的beginLoadingChildItems加载 第一组项目,但是当用户滚动到 页面底部时如何调用下一页? 问题答案: The way you can achieve this is inside the following function: As Example: L

  • 问题是,每次尝试筛选表时,我的 实现中被重写的方法 都会被调用两次。 我的<代码>LazyDataModel<代码>实现: 我的xhtml视图: 和控制器