PagingAndSortingRepository 在运行时将使用什么实现?

What implementation will be used for PagingAndSortingRepository in runtime?

我对 Spring Data JPA 有点困惑。有人可以解释以下内容吗?

假设我有接口

@Repository
public interface UserRepository extends PagingAndSortingRepository<User, Long> {
}

PagingAndSortingRepository 的具体实现将在运行时使用什么?

我需要在 class 或将使用此存储库的方法上添加 @Transactional 注释?

PagingAndSortingRepository 中声明的方法的实现在 SimpleJpaRepository 中定义。

如果您希望在事务中执行的所有操作都由单个存储库调用处理,则您不需要任何额外的 @Transactional,但通常您确实希望事务涵盖多个调用或在至少加载操作和之后对实体的操作。在这些情况下,您通常会使用一种用 @Transactional 注释的方法。但是您也可以使用例如 TranactionTemplate ,它在某些类型的测试中可能是利基市场。