как весной объединение между json и другой таблицей в базе данных? - PullRequest
0 голосов
/ 03 марта 2020

моя ситуация такова: POST-запрос, который получает JSON:

{'ID':1
'COMPARTMENT':'xxxx'
'COM_COMP':'yyyy'
'ID_ISTAT':'zzzz'
}

мой контроллер:

@RequestMapping(value = "/PostMethod", method = RequestMethod.POST)
    public ResponseEntity<String> putCompartment(@RequestBody CompartmentDTO compartmentDTO) {

        compartmentService.joinTable(compartmentDTO);
        return new ResponseEntity<>("Insert", HttpStatus.OK);

теперь я хочу записать в таблицу СООТВЕТСТВИЕ этому запросу присоединиться:

**

select ID, COMPARTMENT, COM_COMP,CITTA from compartmentDTO, anagrafic_compartment
where compartmentDTO.citta=anagrafic_compartment.citta;

**

ANAGRAFICA ENTITY: те же поля таблицы в базе данных

@Entity(name="anagrafica_compartimenti")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AnagraficaEntity {
    @Column
    @Id
    private String id_istat;
    @Column
    private String citta;
}

CompartmentENTITY: те же поля таблицы База данных или те же поля JSON / DTO?

@Entity(name="compartimenti")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CompartimentiEntity {
    @Id
    @Column
    private Integer id;
    @Column
    private String compartment;
    @Column
    private String com_comp;
    @Column
    private String id_istat; <--- or citta?
}

CompartmentDTO:

@Data
@AllArgsConstructor
@NoArgsConstructor
public class CompartimentiDTO{
    @Id
    @Column
    private Integer id;
    @Column
    private String compartment;
    @Column
    private String com_comp;
    @Column
    private String citta;

    @Override
    public String toString() {
        return String.format(
                "Compartimento:(id=%d, compartment='%s', com_comp='%s',id_istat=%s)",
                id, compartment, com_comp,citta);
    }


}

КОММЕРЧЕСКИЙ СЕРВИС:

@Service
public class CompartimentiService {
    @Autowired
    private CompartimentiRepository compartimentiRepository;

    public void joinTable (CompartimentiDTO compartimentiDTO){

        ///HERE I WANT TO DO THE LOGIC BETWEEN 2 ENTITY and return 1 entity for save on DB ?////

    }

СЕРВИС ANAGRAFICA:

@Service
public class AnagraficaService {
    @Autowired
    private AnagraficaRepository anagraficaRepository;

    public List<AnagraficaEntity> getAnagrafica(){
        return anagraficaRepository.findAll();
    }

    public void putAnagrafica(String id_istat,String citta){
        AnagraficaEntity a = new AnagraficaEntity(id_istat,citta);
        anagraficaRepository.save(a);
    }

}

СПАСИБО

...