Java 处理崩溃后的事务

Java 处理崩溃后的事务,java,mysql,spring,hibernate,Java,Mysql,Spring,Hibernate,目前我在一个采用复式记账法的会计项目中工作。记录完成后,一个账户借记,另一个账户贷记,因此必须在数据库中更新其金额 假设在数据库中第一个帐户更新后,系统崩溃,第二个帐户的数量没有变化;这种情况会导致数据不一致,因此我的问题是:处理此问题的最佳方法是什么?我应该在数据库恢复后立即撤消第一个事务,还是继续尝试更新第二个帐户 我在mysql中使用hibernate和spring框架。提前感谢。这里似乎需要分布式事务和两阶段提交 请参阅2个数据源(似乎是您的情况),另一个数据源加消息队列可能相关:可能会

目前我在一个采用复式记账法的会计项目中工作。记录完成后,一个账户借记,另一个账户贷记,因此必须在数据库中更新其金额

假设在数据库中第一个帐户更新后,系统崩溃,第二个帐户的数量没有变化;这种情况会导致数据不一致,因此我的问题是:处理此问题的最佳方法是什么?我应该在数据库恢复后立即撤消第一个事务,还是继续尝试更新第二个帐户


我在mysql中使用hibernate和spring框架。提前感谢。

这里似乎需要分布式事务和两阶段提交


请参阅2个数据源(似乎是您的情况),另一个数据源加消息队列

可能相关:可能会发生崩溃,而且可能会很混乱,但请记住,如果您的Java应用程序崩溃,MySQL中的事务应该仍然是原子的,即要么整个过程成功,要么根本没有发生。