如何在全局范围内更改Spring Data存储库的事务设置?
作者:互联网
我将Spring Data用于我的应用程序存储库.
interface MyUserRepository extends JpaRepository<MyUser, Long> { … }
默认情况下,Spring数据会为存储库添加事务性的,但要添加Propagation.REQUIRED,如果我没记错的话.我如何为AOP中的所有存储库设置Propagation.MANDATORY.我不想为每个存储库设置注释.
其背后的想法是禁止使用不在事务范围内的存储库,因此只能通过服务使用它们.我正在将AOP用于其他服务,但对于已被代理的存储库,它无法正常工作.
解决方法:
您可以创建一个自定义存储库基础界面,并使用所需的设置对其进行注释:
@NoRepositoryBean
@Transactional(propagation = Propagation.MANDATORY)
public interface BaseRepository<T, ID extends Serializable> extends PagingAndSortingRepository<T, ID> {
}
现在,让您所有的应用程序存储库都扩展该基本存储库接口,您将一路顺风.
标签:spring-aop,spring-data,spring 来源: https://codeday.me/bug/20191028/1956018.html