spring-data - Spring 数据 : what problems could I have if I replace CrudRepository with JpaRepository?

标签 spring-data

我有一些存储库类。最初它们都扩展了 CrudRepository。为了满足返回可分页记录的需要,我创建了一个存储库类来扩展 JpaRepository,这使得提供的不仅仅是可分页结果。

现在我正在考虑将所有 CrudRepository 替换为 JpaRepository,无论此时是否需要存储库类。

是否存在任何运行时问题,例如内存、速度等?

感谢您的任何意见!

问候。

最佳答案

如果您只需要分页抽象,请考虑使用 PagingAndSortingRepository相反 JpaRepositoryJpaRepository 添加一些特定于 JPA 的功能,那么也许您不需要它。

就内存和速度问题而言,大多数情况下并不相关。

由于它不是内存中分页(例如 SimpleJpaRepository ),因此在这种情况下不会出现内存问题。如果您没有使用 JPA 存储库实现,您只会注意到 JPA 开销,在大多数情况下仍然很小。

对于分页,需要额外的查询来计算记录数,因此我们的开销很小。

SimpleJpaRepository 具有用于 PagingAndSortingRepository 方法的 JPA 实现。例如,您可以使用 JDBC 编写自定义实现。请参阅this使用 JdbcTemplatePagingAndSortingRepository 实现示例要点

总的来说,我相信是这样的:)

关于spring-data - Spring 数据 : what problems could I have if I replace CrudRepository with JpaRepository?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28132390/

相关文章:

java - 如何将 Spring Data Projection 与 Transient 属性一起使用?

Spring Boot Data JPA - 修改更新查询 - 刷新持久性上下文

spring - 在同一事务中保存后更新期间不会调用 @PreUpdate

spring - 替换 spring-data Page 的全部内容,同时保持分页信息

java - Spring Data和@Transactional在多次保存时不回滚

java - 如何在 JPA 2 中创建映射为实体类的 3 或 4 路多对多关联

java - 如何在查询中停止深度连接 hibernate?

java - 如何避免Spring Data Jpa并发情况?

java - Spring 休息 : Get JSON data from Request body in addition to entity

java - Spring Data Streaming 查询在使用 JTA 的 JBoss 7 上不会引发事务错误