具有多个实体的 Spring data jpa 不回滚 - PostgreSQL

我在我的一个项目中使用 spring-data-jpa 。在服务层,我用@Transactional注释了一个私有方法,并在应用程序中启用了@EnableTransactionManagement。当实体的某一保存方法抛出异常时,之前保存的其余实体不会回滚。顺便说一句,我正在使用 PostgreSQL。

如果我在这里遗漏了什么,请告诉我。


三国纷争
浏览 119回答 2
2回答

噜噜哒

Spring事务仅适用于公共方法。因为它需要使用事务代理类注入代码。因此,公开您的方法将解决您的问题。

达令说

Spring 默认情况下只会回滚运行时异常(https://docs.spring.io/spring/docs/2.5.x/reference/transaction.html#transaction-declarative)。如果您想回滚任何异常,您可以尝试添加:@Transactional(rollbackFor = Exception.class)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java