事务回滚不适用于spring JPA的多个存储库

时间:2016-02-20 00:00:35

标签: java jpa transactions spring-boot

我的两个事务都没有回滚,也许我在一些核心概念上缺失。

@Autowired
CustomRepositoryA customrepositoryA

@Autowired
CustomRepositoryB customrepositoryB

@Transactional
public void method(){

//businesslogic

//works fine
customrepositoryA.save(obj);
customrepositoryA.flush();

//Error
customrepositoryB.save(obj);
customrepositoryB.flush();

}

所以我的理解是@Transactional注释应该在存在错误的情况下回滚存储库事务,但它只是为第二个事务持久存储到DB中的第二个回滚。 JPA存储库是否提供了一种清除会话缓存的方法,在hibernate中刷新等效于session.clear()之后?

以下是几年前我所面临的同一问题的链接 One transaction for several JpaRepositories' methods

0 个答案:

没有答案