【问题标题】:What implementation will be used for PagingAndSortingRepository in runtime?PagingAndSortingRepository 在运行时将使用什么实现?
【发布时间】:2023-04-08 04:37:01
【问题描述】:

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

假设我有界面

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

PagingAndSortingRepository 的具体实现在运行时会用到什么?

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

【问题讨论】:

  • 我猜是PagingAndSortingRepositoryInvoker

标签: java spring spring-data-jpa spring-transactions


【解决方案1】:

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

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

【讨论】:

  • 更新了答案以涵盖有关交易的部分。
猜你喜欢
  • 1970-01-01
  • 2016-09-25
  • 1970-01-01
  • 2011-09-29
  • 2012-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-03
相关资源
最近更新 更多