您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

有没有办法在没有遇到异常的情况下强制进行事务回滚?

有没有办法在没有遇到异常的情况下强制进行事务回滚?

在Spring Transactions中,您使用TransactionStatus.setRollbackOnly()

在这里遇到的问题是您正在使用@Transactional交易标定边界。这具有非侵入性的好处,但是这也意味着,如果您要手动与事务上下文进行交互,则不能这样做。

如果要严格控制交易状态,则必须使用程序化交易,而不是声明性注释。这意味着使用Spring的TransactionTemplate,或直接使用其PlatformTransactionManager。请参阅Spring参考手册的9.6节。

使用TransactionTemplate,您提供一个实现的回调对象TransactionCallback,并且此回调中的代码可以访问这些TransactionStatus对象。

它不如@Transactional,但您可以更精确地控制自己的发送状态。

其他 2022/1/1 18:17:42 有514人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶