我有一些存储库类。最初它们都扩展了 CrudRepository。为了满足返回可分页记录的需要,我创建了一个存储库类来扩展 JpaRepository,这使得提供的不仅仅是可分页结果。
现在我正在考虑将所有 CrudRepository 替换为 JpaRepository,无论此时是否需要存储库类。
是否存在任何运行时问题,例如内存、速度等?
感谢您的任何意见!
问候。
最佳答案
如果您只需要分页抽象,请考虑使用 PagingAndSortingRepository
相反 JpaRepository
。 JpaRepository
添加一些特定于 JPA 的功能,那么也许您不需要它。
就内存和速度问题而言,大多数情况下并不相关。
由于它不是内存中分页(例如 SimpleJpaRepository
),因此在这种情况下不会出现内存问题。如果您没有使用 JPA 存储库实现,您只会注意到 JPA 开销,在大多数情况下仍然很小。
对于分页,需要额外的查询来计算记录数,因此我们的开销很小。
SimpleJpaRepository
具有用于 PagingAndSortingRepository
方法的 JPA 实现。例如,您可以使用 JDBC 编写自定义实现。请参阅this使用 JdbcTemplate
的 PagingAndSortingRepository
实现示例要点
总的来说,我相信是这样的:)
关于spring-data - Spring 数据 : what problems could I have if I replace CrudRepository with JpaRepository?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28132390/