【发布时间】:2016-12-20 06:25:35
【问题描述】:
我目前正在开发一个 spring mvc + hibernate 应用程序。它有Service和DAO层。
我想知道的是有没有办法实现不同DAO实现之间的依赖回滚。
例如,我使用 A 的 DAO 实现在与模型 A 映射的表 A 中添加了一个条目/行。 然后我正在尝试对表 B 执行相同操作。但是,在尝试对表 C 执行相同操作时,会发生错误 那么我希望回滚表 A 和表 B 中所做的更改。
有没有办法实现这一点,让我知道任何帮助表示赞赏并提前感谢您:D
版主注意事项:我知道这个问题可能听起来很自以为是,但请放心,如果我在几天内找不到任何满意的答案,我会自己关闭它。
【问题讨论】:
-
是的,这就是交易的全部意义所在。只要所有 DAO 交互都在单个事务中进行,所有内容都会回滚。
-
这可以理解,但我希望实现的是在不同的DAO之间有一个依赖的交易链。如果其中一个有错误,那么所有先前的事务[可能已经提交]也将回滚。这些交易不会在一个带有@transaction 注释的文件中。
-
committed 已提交。您不能回滚已经提交的内容。如果您希望能够回滚更改,请不要提交它。
标签: spring hibernate spring-mvc rollback transactional