在spring boot上保存一对一关系时的无限循环

pxy2qtax  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(282)

我有一个非常丑陋的职位要求Map到我的控制器

@PostMapping("/save")
public ResponseEntity<Cliente> save(@RequestBody ClienteSaveBody json) {
    Cliente persona = json.getCliente();
    Ubicacion location = json.getUbicacion();
    String nSector = json.getSector();
    Sector sector = sectorRepo.findById(nSector).orElseThrow(() -> new EntityNotFoundException("sector no encontrado para este id:: " + nSector));

    location.setSector(sector);
    location.setCliente(persona);
    persona.setUbicacion(location);
    ubicacionRepo.save(location);
    Cliente obj = clienteRepo.save(persona);
    return new ResponseEntity<Cliente>(obj, HttpStatus.OK);
}

当我使用这个Map的请求时,控制台会抛出一个无限长的警告。
当我做一个get时,我的回答是:

{
   "nombreCompleto":"John Harold",
   "telefono":"111-111-1111",
   "email":"JH@gmail.com",
   "celular":"222-222-2222",
   "cedula":"22222222222",
   "sexo":"F",
   "fecha_Nacimiento":"2021-04-13T00:00:00.000+00:00",
   "ubicacion":{
      "calle":"Pepin",
      "casa":"2",
      "sector":{
         "nombreSector":"Cambelen",
         "nombreMunicipio":{
            "nombreMunicipio":"Puerto Plata",
            "nombreProvincia":{
               "nombreProvincia":"Puerto Plata"
            }
         }
      },
      "cliente":{
         "nombreCompleto":"John Harold",
         "telefono":"111-111-1111",
         "email":"JH@gmail.com",
         "celular":"222-222-2222",
         "cedula":"22222222222",
         "sexo":"F",
         "fecha_Nacimiento":"2021-04-13T00:00:00.000+00:00",
         "ubicacion":{
            "calle":"Pepin",
            "casa":"2",
            "sector":{
               "nombreSector":"Cambelen",
               "nombreMunicipio":{
                  "nombreMunicipio":"Puerto Plata",
                  "nombreProvincia":{
                     "nombreProvincia":"Puerto Plata"
                  }
               }
            },
            "cliente":{
               "nombreCompleto":"John Harold",
               "telefono":"111-111-1111",
               "email":"JH@gmail.com",
               "celular":"222-222-2222",
               "cedula":"22222222222",
               "sexo":"F",
               "fecha_Nacimiento":"2021-04-13T00:00:00.000+00:00",
               "ubicacion":{
                  "calle":"Pepin",
                  "casa":"2",
                  "sector":{
                     "nombreSector":"Cambelen",
                     "nombreMunicipio":{
                        "nombreMunicipio":"Puerto Plata",
                        "nombreProvincia":{
                           "nombreProvincia":"Puerto Plata"
                        }
                     }
                  },
                  "cliente":{
                     "nombreCompleto":"John Harold",
                     "telefono":"111-111-1111",
                     "email":"JH@gmail.com",
                     "celular":"222-222-2222",
                     "cedula":"22222222222",
                     "sexo":"F",
                     "fecha_Nacimiento":"2021-04-13T00:00:00.000+00:00",
                     "ubicacion":{
                        "calle":"Pepin",
                        "casa":"2",
                        "sector":{
                           "nombreSector":"Cambelen",
                           "nombreMunicipio":{
                              "nombreMunicipio":"Puerto Plata",
                              "nombreProvincia":{
                                 "nombreProvincia":"Puerto Plata"
                              }
                           }
                        },
                        "cliente":{
                           "nombreCompleto":"John Harold",
                           "telefono":"111-111-1111",
                           "email":"JH@gmail.com",
                           "celular":"222-222-2222",
                           "cedula":"22222222222"
fae0ux8s

fae0ux8s1#

你可以用 @JsonIgnore 在模型中的Map之上。

@JsonIgnore
@OneToMany(mappedBy = "table_name",
            cascade = {CascadeType.REMOVE})

相关问题