Spring boot putMapping中的存储库与SpringBoot中getMapping中的存储库有何不同?
我有一个模拟对象,它有一个集合作为它的一个字段。模拟对象也有家有房。房间也被设置为它的一个领域。我正在尝试从其中一个房间中删除一个用户,并将其保存到模拟对象。我可以成功地将用户保存在模拟对象中,但无法将用户从房间中删除 SimulationUsers很有意思 模拟对象: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
@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))]