Mysql 在子表中插入外键,每次显示null

Mysql 在子表中插入外键,每次显示null,mysql,hibernate,spring-boot,Mysql,Hibernate,Spring Boot,我正在使用父表和子表之间的@OnetoMany关系在子表中插入外键。一个家长有很多药,它显示我无效。 我已经为我的问题做了很多搜索,并且尝试了所有可能的解决方案,但都不起作用 父类 @Entity @Table(name = "patient_domain") public class Patient implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(s

我正在使用父表和子表之间的@OnetoMany关系在子表中插入外键。一个家长有很多药,它显示我无效。 我已经为我的问题做了很多搜索,并且尝试了所有可能的解决方案,但都不起作用

父类

@Entity
@Table(name = "patient_domain")
public class Patient implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)

@Column(name = "p_id")
private Integer p_id;

@Column(name = "doctor_name")
private String doctor_name;

@Column(name="name")
private String name;

@Column(name="hospital_clinic")
private String hospital_clinic;

@Column(name="date")
private Date date;


@OneToMany(mappedBy = "patient", cascade = CascadeType.ALL)
private List<Medicine> medicines;
MedicineBean

public class MedicineBean {

private Integer med_id;
private  String med_name;
private  String med_type;
private  String med_quantity;

private Integer patientid;

public Integer getPatientid() {
    return patientid;
}

public void setPatientid(Integer patientid) {
    this.patientid = patientid;
}

public Integer getMed_id() {
    return med_id;
}

public void setMed_id(Integer med_id) {
    this.med_id = med_id;
}

public String getMed_name() {
    return med_name;
}

public void setMed_name(String med_name) {
    this.med_name = med_name;
}

public String getMed_type() {
    return med_type;
}

public void setMed_type(String med_type) {
    this.med_type = med_type;
}

public String getMed_quantity() {
    return med_quantity;
}

public void setMed_quantity(String med_quantity) {
    this.med_quantity = med_quantity;
}
}
患者控制员

@RequestMapping(method = {RequestMethod.POST})
public ResponseEntity<ApiResponse> createOrUpdateUser(@RequestBody PatientBean patientBean) throws Exception {



    ApiResponse status = new ApiResponse();
    status.setStatus(false);
    status.setMessage("please select record");
    try {
        if(patientBean != null) {

            Patient patient = new Patient();

            List<Medicine> listmedicine=new ArrayList<Medicine>();
            status.setStatus(true);
            if(patientBean.getP_id() != null) {
                patient.setP_id(patientBean.getP_id());
                status.setMessage("Successfully record updated");
            } else {
                status.setMessage("Successfully record created");
            }

            patient.setName(patientBean.getName());
            patient.setDoctor_name(patientBean.getDoctor_name());
            patient.setHospital_clinic(patientBean.getHospital_clinic());
            patient.setDate(CommonUtil.getCurrentTimestamp());


            if(patient.getMedicines().size()>0)
            {
                for (int i=0;i<patient.getMedicines().size();i++)
                {
                    Medicine medicine=new Medicine();
                    medicine.setMed_name(patientBean.getMedicines().get(i).getMed_name());
                    medicine.setMed_quantity(patientBean.getMedicines().get(i).getMed_quantity());
                    medicine.setMed_type(patientBean.getMedicines().get(i).getMed_type());
                    medicine.setPatient(patient);
                    listmedicine.add(medicine);

                }
            }
            patient.setMedicines(listmedicine);
            status.getResponseList().add(patient);
            patienServiceImp.createPatient(patient);
        }


        return new ResponseEntity<ApiResponse>(status, HttpStatus.OK);
    } catch (Exception e) {
        status.setStatus(false);
        status.setMessage("Something went wrong on server");
        MyPrint.println(e.getMessage());
        return new ResponseEntity<ApiResponse>(status, HttpStatus.OK);
    }
}
@RequestMapping(方法={RequestMethod.POST})

公共响应问题解决了,我犯了一个错误,我没有给病人配药,
“patient.setMedicines(patientBean.getMedicines());”
只要在我的代码中添加这一个,我的代码就能正常工作。

请帮帮我!
public class MedicineBean {

private Integer med_id;
private  String med_name;
private  String med_type;
private  String med_quantity;

private Integer patientid;

public Integer getPatientid() {
    return patientid;
}

public void setPatientid(Integer patientid) {
    this.patientid = patientid;
}

public Integer getMed_id() {
    return med_id;
}

public void setMed_id(Integer med_id) {
    this.med_id = med_id;
}

public String getMed_name() {
    return med_name;
}

public void setMed_name(String med_name) {
    this.med_name = med_name;
}

public String getMed_type() {
    return med_type;
}

public void setMed_type(String med_type) {
    this.med_type = med_type;
}

public String getMed_quantity() {
    return med_quantity;
}

public void setMed_quantity(String med_quantity) {
    this.med_quantity = med_quantity;
}
}
@RequestMapping(method = {RequestMethod.POST})
public ResponseEntity<ApiResponse> createOrUpdateUser(@RequestBody PatientBean patientBean) throws Exception {



    ApiResponse status = new ApiResponse();
    status.setStatus(false);
    status.setMessage("please select record");
    try {
        if(patientBean != null) {

            Patient patient = new Patient();

            List<Medicine> listmedicine=new ArrayList<Medicine>();
            status.setStatus(true);
            if(patientBean.getP_id() != null) {
                patient.setP_id(patientBean.getP_id());
                status.setMessage("Successfully record updated");
            } else {
                status.setMessage("Successfully record created");
            }

            patient.setName(patientBean.getName());
            patient.setDoctor_name(patientBean.getDoctor_name());
            patient.setHospital_clinic(patientBean.getHospital_clinic());
            patient.setDate(CommonUtil.getCurrentTimestamp());


            if(patient.getMedicines().size()>0)
            {
                for (int i=0;i<patient.getMedicines().size();i++)
                {
                    Medicine medicine=new Medicine();
                    medicine.setMed_name(patientBean.getMedicines().get(i).getMed_name());
                    medicine.setMed_quantity(patientBean.getMedicines().get(i).getMed_quantity());
                    medicine.setMed_type(patientBean.getMedicines().get(i).getMed_type());
                    medicine.setPatient(patient);
                    listmedicine.add(medicine);

                }
            }
            patient.setMedicines(listmedicine);
            status.getResponseList().add(patient);
            patienServiceImp.createPatient(patient);
        }


        return new ResponseEntity<ApiResponse>(status, HttpStatus.OK);
    } catch (Exception e) {
        status.setStatus(false);
        status.setMessage("Something went wrong on server");
        MyPrint.println(e.getMessage());
        return new ResponseEntity<ApiResponse>(status, HttpStatus.OK);
    }
}