我对SpringDataJPA有点困惑,有人能解释一下吗?
假设我有一个接口
@Repository
public interface UserRepository extends PagingAndSortingRepository<User, Long> {
}
在运行时将使用PagingAndSortingRepository
的具体实现?
我需要在将要使用这个仓库的类或方法上添加@Transactional
注解吗?
我对SpringDataJPA有点困惑,有人能解释一下吗?
假设我有一个接口
@Repository
public interface UserRepository extends PagingAndSortingRepository<User, Long> {
}
在运行时将使用PagingAndSortingRepository
的具体实现?
我需要在将要使用这个仓库的类或方法上添加@Transactional
注解吗?
1条答案
按热度按时间gcxthw6b1#
在
PagingAndSortingRepository
中声明的方法的实现在SimpleJpaRepository
中定义。如果您想在事务中做的所有事情都由单个存储库调用处理,但通常您确实希望事务包含多个调用,或者至少包含一个加载操作以及随后对实体的操作,在这些情况下,您通常会使用带有
@Transactional
注解的方法。但是你也可以使用TranactionTemplate
,这在某些测试中是很好的。