Spring boot putMapping中的存储库与SpringBoot中getMapping中的存储库有何不同?

Spring boot putMapping中的存储库与SpringBoot中getMapping中的存储库有何不同?,spring-boot,hibernate,jpa,get,put,Spring Boot,Hibernate,Jpa,Get,Put,我有一个模拟对象,它有一个集合作为它的一个字段。模拟对象也有家有房。房间也被设置为它的一个领域。我正在尝试从其中一个房间中删除一个用户,并将其保存到模拟对象。我可以成功地将用户保存在模拟对象中,但无法将用户从房间中删除 SimulationUsers很有意思 模拟对象: @Data @NoArgsConstructor @AllArgsConstructor @Builder @Entity public class Simulation { @Id public String

我有一个模拟对象,它有一个集合作为它的一个字段。模拟对象也有家有房。房间也被设置为它的一个领域。我正在尝试从其中一个房间中删除一个用户,并将其保存到模拟对象。我可以成功地将用户保存在模拟对象中,但无法将用户从房间中删除

SimulationUsers很有意思

模拟对象:

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Entity
public class Simulation {

    @Id
    public String name;
    private double temperature;
    private String date;
    private String time;

    @OneToOne
    private Home home;

    @OneToMany
    private Set<SimulationUser> simulationUsers;

}
在Put方法中:

log: After getting the simulation is [Simulation(... home=Home(... rooms=[... lights=[], **simulationUsers=[SimulationUser(id=3, name=User1, privilege=Parent), SimulationUser(id=4, name=User2, privilege=Child)]**, sensors=[])...], sensors=[]), simulationUsers=[])]
log: Before saving the simulation (repository) is [Simulation(... home=Home(... rooms=[... lights=[], **simulationUsers=[SimulationUser(id=3, name=User1, privilege=Parent), SimulationUser(id=4, name=User2, privilege=Child)]**, sensors=[])...], sensors=[]), simulationUsers=[SimulationUser(id=4, name=User2, privilege=Child)])]
log: The saving simulation is .....................Simulation(... home=Home(... rooms=[... lights=[], **simulationUsers=[SimulationUser(id=3, name=User1, privilege=Parent)]**, sensors=[])...], sensors=[]), simulationUsers=[SimulationUser(id=4, name=User2, privilege=Child)])]
log: After saving the simulation (repository) is. [Simulation(... home=Home(... rooms=[... lights=[], **simulationUsers=[SimulationUser(id=3, name=User1, privilege=Parent)]**, sensors=[])...], sensors=[]), simulationUsers=[SimulationUser(id=4, name=User2, privilege=Child)])]
在put方法之后,在GetMethod内部:

log: After getting the simulation is [Simulation(... home=Home(... rooms=[... lights=[], **simulationUsers=[SimulationUser(id=3, name=User1, privilege=Parent), SimulationUser(id=4, name=User2, privilege=Child)]**, sensors=[])...], sensors=[]), simulationUsers=[SimulationUser(id=4, name=User2, privilege=Child))]
@Slf4j
@RestController
@RequestMapping("/api")
public class SimuationController {

    public HomeRepository homeRepository;
    public SimulationRepository simulationRepository;


    public SimuationController(HomeRepository homeRepository, SimulationRepository simulationRepository) {
        this.homeRepository = homeRepository;
        this.simulationRepository = simulationRepository;
    }
    ....

@PutMapping("/simulation/user-rooms")
public ResponseEntity<Simulation> updateSimulation(@Valid @RequestBody Simulation simulation){

    Simulation currentSimulation = simulationRepository.findById("1").get();
    currentSimulation.setHome(simulation.getHome());
    currentSimulation.setSimulationUsers(simulation.getSimulationUsers());

    Simulation createdSimulation = simulationRepository.save(simulation);

    log.info("The saving simulation is {}", createdSimulation);
    log.info("After saving the simulation is {}", simulationRepository.findAll());
    return ResponseEntity.ok().body(createdSimulation);
}

@GetMapping("/simulation")
public ResponseEntity<Simulation> getSimulation() {
    Simulation simulation = simulationRepository.findById("1").get();
   
    log.info("After getting the simulation is {}", simulationRepository.findAll());
    return ResponseEntity.ok().body(simulation);
}
log: After getting the simulation is [Simulation(... home=Home(... rooms=[... lights=[], **simulationUsers=[SimulationUser(id=3, name=User1, privilege=Parent), SimulationUser(id=4, name=User2, privilege=Child)]**, sensors=[])...], sensors=[]), simulationUsers=[])]
log: Before saving the simulation (repository) is [Simulation(... home=Home(... rooms=[... lights=[], **simulationUsers=[SimulationUser(id=3, name=User1, privilege=Parent), SimulationUser(id=4, name=User2, privilege=Child)]**, sensors=[])...], sensors=[]), simulationUsers=[SimulationUser(id=4, name=User2, privilege=Child)])]
log: The saving simulation is .....................Simulation(... home=Home(... rooms=[... lights=[], **simulationUsers=[SimulationUser(id=3, name=User1, privilege=Parent)]**, sensors=[])...], sensors=[]), simulationUsers=[SimulationUser(id=4, name=User2, privilege=Child)])]
log: After saving the simulation (repository) is. [Simulation(... home=Home(... rooms=[... lights=[], **simulationUsers=[SimulationUser(id=3, name=User1, privilege=Parent)]**, sensors=[])...], sensors=[]), simulationUsers=[SimulationUser(id=4, name=User2, privilege=Child)])]
log: After getting the simulation is [Simulation(... home=Home(... rooms=[... lights=[], **simulationUsers=[SimulationUser(id=3, name=User1, privilege=Parent), SimulationUser(id=4, name=User2, privilege=Child)]**, sensors=[])...], sensors=[]), simulationUsers=[SimulationUser(id=4, name=User2, privilege=Child))]