运行时将对PagingAndSortingRepository使用哪种实现?

问题描述

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

假设我有界面

docker run --rm \
  -p 80:8080 \
  containous/whoami

@Repository public interface UserRepository extends PagingAndSortingRepository<User,Long> { } 的实现将在运行时中使用什么?

我需要在将要使用此存储库的类或方法添加PagingAndSortingRepository注释吗?

解决方法

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

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