gpt4 book ai didi

java - Spring维护数据一致性

转载 作者:太空宇宙 更新时间:2023-11-04 11:29:18 25 4
gpt4 key购买 nike

我有一个场景,我必须将数据插入到多个表中。如果一个查询失败,那么我想回滚最后执行的查询

我的服务方法是

@Service
@Transactional
public class ServiceNameImpl implements ServiceName{
@Autowired
private ABCRepository abcRepository;

@Autowired
private BCDRepository bcdRepository;

@Override
public SChResource save(SchData schData){
SchSch sch = new SchSch();
Contact con = new Contact();
sch.setName(schData.getName());
abcRepository.save(sch); --first insertion
con.setAddress(schData.getAddress());
bcdRepository.save(con); --second insertion
return null;
}
}

我希望如果第一次插入执行而第二次插入失败,则第一次插入将回滚,如果第一次插入失败而第二次插入执行,则第二次插入将回滚。

请建议我该怎么做。

最佳答案

我认为您正在使用 Spring data Jpa 并在 ABCRepositoryBCDRepository 中扩展 JpaRepository 或其父类或子类。

在这种情况下,您还需要在任何具有 @Configuration 的类上添加 @EnableTransactionManagement

关于java - Spring维护数据一致性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43985239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com