我应该创建从表示层到Spring Data的依赖关系以使用分页

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我应该创建从表示层到Spring Data的依赖关系以使用分页相关的知识,希望对你有一定的参考价值。

我们正在使用JSF(Primefaces作为表示库)和Spring Data JPA创建基于Web的应用程序,用于数据访问层。该项目启用了Spring Boot。

该项目分为多个模块(根据层),其中一个是表示层。

您是否建议创建从表示层到Spring Data的依赖项(因此可以访问PageRequest和Slice和...类)?

否则我们将在这个层中重新实现这些类并将它们转换为Spring Data类,这看起来有些冗长。

答案

您是否建议创建从表示层到Spring Data的依赖项(因此可以访问PageRequest和Slice和...类)?

你做出的每一个决定都有它的优点和缺点,如果这是一个问题,它实际上取决于你的具体情况。

我看到以下事情支持依赖:

  • 重用PageRequest和类似的类。它们代表了使用持久性时所需的概念,但并不是特定于持久性的。因此,复制它们确实没有意义。

另一方面,Spring Data包含许多在表示层中没有任何业务的类。例如,那些处理创建存储库的人。

你的任务是确定这些类别的风险/损害是否大于使用PageRequest和co的好处。

到目前为止,我与我合作过的所有团队和项目都选择了依赖。

原因如下:

  1. 无论如何,域依赖于JPA和Spring Data。因此,通过依赖于域层,无论您是否愿意,都会获得瞬态依赖。
  2. Spring Data中的持久性特定类是如此具体,以至于我从未体验过任何试图直接使用它们的人。

请注意,尤其是第一点假设您没有在单独的传输对象中复制JPA实体,这会否定JPA的好处。

以上是关于我应该创建从表示层到Spring Data的依赖关系以使用分页的主要内容,如果未能解决你的问题,请参考以下文章

Spring04-----DI

spring-boot-starter-data-jpa 依赖错误

从 Conv1D 层到 MaxPool1D 层的额外维度

如何从 Spring Data REST 生成的表示中删除超媒体元素?

在 Spring Data JPA 中以 3 种不同方式创建查询

Android Multimedia框架总结MediaPlayer中从Java层到C++层类关系及prepare及之后其他过程