其他分享
首页 > 其他分享> > 如何在全局范围内更改Spring Data存储库的事务设置?

如何在全局范围内更改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