我使用注释来标记应在交易中执行的方法。

但是,在一个地方我需要做 transactionManager.rollback() 手动,没有注释。我该如何获得 transactionManager 目的?

有帮助吗?

解决方案

如果要回滚当前的交易,则可以使用

    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

请注意,它不会立即回滚交易 - 它设置了“仅回滚”状态,因此在尝试提交期间将回滚事务。


否则,如果您需要编程交易划界,则可以使用 TransactionTemplate, ,如所述 10.6编程交易管理.

您也可以获得一个实例 PlatformTransactionManager, ,但是它并没有被广泛使用以来 TransactionTemplate 是推荐的程序交易划界方法。

也可以看看:

其他提示

如果您的对象是由Spring配置的,您可以将课程注入TransactionManager ...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top