小编use*_*100的帖子

在同一过程中支持多个Spring @Transactional回滚?

该项目使用的是Spring 4,Java 7,并持续存在于Oracle和PostgreSQL。

我正在为将数据持久保存到两个数据库的服务编写集成测试。对于集成测试,我希望两个事务都自动回滚。我知道如果不使用Java 8,就不能使用“重复的”注释,因为这样会出现编译错误。如果将一个注释放在类级别,将另一个注释放在方法级别,则可以很好地进行编译。但是,似乎列出的较高注释不会回滚。要澄清的是,如果我@Transactional在类或方法级别将注解(Oracle或PostgreSQL)声明为独立注解,则一次回滚是完美的。但是,如果我在类级别实现一个注释,而在方法级别实现另一个注释,则回滚将仅在方法级别而非类级别起作用。

我怀疑@Transactional只要过程一次尝试回滚一个,多个注释就可以正常工作。例如:一种方法使用Oracle事务,另一种方法使用PostgreSQL事务。

有什么想法吗?

spring integration-testing spring-transactions java-7

1
推荐指数
1
解决办法
318
查看次数