在子表中插入外键,每次都显示为空

法扎汗 |

我正在使用父级和医学之间的 @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;

耐心豆类

package com.gamification.beans;

import com.gamification.entities.Medicine;

import java.util.Date;
import java.util.List;

public class PatientBean {

private Integer p_id;
private String name;
private String doctor_name;
private Date date;

private List<Medicine> medicines;

public List<Medicine> getMedicines() {
    return medicines;
}

public void setMedicines(List<Medicine> medicines) {
    this.medicines = medicines;
}

public Integer getP_id() {
    return p_id;
}

public void setP_id(Integer p_id) {
    this.p_id = p_id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getDoctor_name() {
    return doctor_name;
}

public void setDoctor_name(String doctor_name) {
    this.doctor_name = doctor_name;
}

public String getHospital_clinic() {
    return hospital_clinic;
}

public void setHospital_clinic(String hospital_clinic) {
    this.hospital_clinic = hospital_clinic;
}

public Date getDate() {
    return date;
}

public void setDate(Date date) {
    this.date = date;
}

private String hospital_clinic;

}

医学课

@Entity
@Table(name = "medicine_kit")
public class Medicine implements Serializable {

private static final long serialVersionUID = 1L;


@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "med_id")
private Integer med_id;

@Column(name="med_name")
private String med_name;
@Column(name="med_type")
private String med_type;
@Column(name="med_quantity")
private String med_quantity;


@JsonIgnore
@ManyToOne
@JoinColumn(name = "patient_domain_p_id", nullable = false, 
referencedColumnName = "p_id")
private Patient patient;

药豆

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);
    }
}

在此处输入图片说明

法扎汗 |

解决了,我的错误是我没有给病人设置药物,"patient.setMedicines(patientBean.getMedicines());"只需在我的代码中添加这个,我的代码就可以正常工作了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

子表中的JPA外键为空

来自分类Dev

子表中的JPA外键为空

来自分类Dev

扭矩4中的外键为空

来自分类Dev

子表中的外键约束允许插入父表中不存在的值

来自分类Dev

子表中的外键约束允许插入父表中不存在的值

来自分类Dev

如何在MySQL的子表的外键列中插入主表的主键值?

来自分类Dev

即使外键在 HQL 中为空也返回数据

来自分类Dev

外键始终保持为空

来自分类Dev

mongodb includesTo外键为空

来自分类Dev

外键始终保持为空

来自分类Dev

将外键更新为空值

来自分类Dev

在OneTOMany映射外键中插入为空在Hibernate-MySQL中

来自分类Dev

插入值以更新mysql中的外键

来自分类Dev

当外键为空时,在具有Lambda表达式的List <T>中按Order By

来自分类Dev

由于外键为空值,无法从表中获取数据

来自分类Dev

如果我的帖子表为空,如何显示不同的代码?

来自分类Dev

在Rails中添加可为空的外键

来自分类Dev

外键约束在空表中失败

来自分类Dev

插入子表时外键失败(引用复合唯一索引)

来自分类Dev

一次为单个外键插入多个记录

来自分类Dev

Django-ModelForm显示项目但插入外键

来自分类Dev

如何将项目显示为“运输中”而不是特定的位置ID(外键)?

来自分类Dev

复合外键插入

来自分类Dev

在javafx TableView中显示外键

来自分类Dev

在ModelForm Django中显示外键属性

来自分类Dev

通过cakephp中的外键显示数据

来自分类Dev

在父类中显示外键

来自分类Dev

使外键(字符串字段)为空

来自分类Dev

休眠多对一将外键更新为空