首页 > 解决方案 > 以一种方法保存到两个表

问题描述

如何以一种方法安全地将数据保存到两个表中?我插入一个表并更新到另一个表。@Transactional 就足够了吗?

像这样:

@Transactional
@PostMapping("/companies/add")
public ResponseTransfer addCompanies(@RequestBody CompaniesModel companiesModel, HttpServletResponse response) {

    UsersModel usersModel;

    try {
        usersModel = getUsersModel();

        if(usersModel.getFKuserAccountTypes().getRoleId() == 1) {
            companiesRepository.save(companiesModel);
        } else {
            AccountTypesModel accountTypesModel = getRoleById(2);
            usersModel.setFKuserAccountTypes(accountTypesModel);
            usersRepository.save(usersModel);
            companiesRepository.save(companiesModel);
            CeosModel ceosModel = new CeosModel(usersModel, companiesModel);
            ceosRepository.save(ceosModel);
        }

[下一行代码] }

在这种情况下成功之后的 CompaniesRepository.save(companies Model) ;,如果 ceoRepository.save(ceosModel); 将无法正确执行,数据不会输入到 CompaniesRepository 中?

标签: javaspring-bootjpa

解决方案


推荐阅读