有没有办法在spring托管事务中设置检查点,如果出现问题,回滚应该只发生在最后一个检查点。
答案 0 :(得分:2)
IMO,如果我们说交易必须全部或没有 执行回滚直到检查点意味着我们正在进行部分交易 如果您想要回滚到某个特定点,那么将任务转换为多个事务将是一个不错的选择。 (如果您可以将其转换为多个交易)
答案 1 :(得分:0)
我是第二个Ajinkya的回答。 Spring有一个独立于技术的事务抽象,并且具有许多不同技术(Hibernate,JPA,JDBC等)的实现,其中只有一些具有您似乎需要的功能。
Spring Transactions保持简单,因此可以将持久层切换到新技术,而无需更改服务层中的任何内容。这种灵活性是以功耗为代价的,因为只有最常见的事务隐喻才能在所有支持的平台上使用。学会忍受限制并将您的任务转换为几个子任务。
答案 2 :(得分:0)
您可以在春季使用SavePointManager管理检查点。首先使用这个,你必须使用TransactionTemplate并进行程序化的交易管理,以便你可以控制交易状态
然后使用SavePointManager方法创建检查点。
如果你想通过方面来管理这个,那么使用客户注释和方面就可以很容易地使用spring bean来编写。