Hibernate映射到公共表

时间:2015-04-04 14:41:57

标签: hibernate

这是我的医生实体

@Entity
public class Doctor implements java.io.Serializable {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;

private String firstName;

@OneToMany
private List<Status>status=new ArrayList<Status>();

@Embedded
private Chamber chamber;


public List<Status> getStatus() {
    return status;
 }

 public void setStatus(List<Status> status) {
    this.status = status;
 }

public Chamber getChamber() {
    return chamber;
}

public void setChamber(Chamber chamber) {
    this.chamber = chamber;
}

public Doctor() {
}

public Integer getId() {
    return this.id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getFirstName() {
    return this.firstName;
}

public void setFirstName(String firstName) {
    this.firstName = firstName;
}


 }

这是我的患者实体

 @Entity
 public class Patient implements java.io.Serializable {

 @Id
 @GeneratedValue(strategy = GenerationType.AUTO)
 private Integer id;

 private String firstName;
 private String lastName;

 @OneToMany
 private List<Status>status=new ArrayList<Status>();


public List<Status> getStatus() {
    return status;
 }

 public void setStatus(List<Status> status) {
    this.status = status;
 }

public Patient() {
}

public Integer getId() {
    return this.id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getFirstName() {
    return this.firstName;
}

public void setFirstName(String firstName) {
    this.firstName = firstName;
}

public String getLastName() {
    return this.lastName;
}

public void setLastName(String lastName) {
    this.lastName = lastName;
}


}

这是我的状态实体

@Entity
public class Status {


@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;


 private String status;


@Temporal(javax.persistence.TemporalType.DATE)
private Date date;


public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}



public Date getDate() {
    return date;
}

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


public String getStatus() {
    return status;
}

public void setStatus(String status) {
    this.status = status;
}

}

现在您可以看到实体医生和患者都有共同的字段“状态”。现在如果我坚持表“医生”和“患者”两个表创建“doctor_status”和“patient_status”。但我想要一个共同点表,其中doctors_id和patient_id将由一列表示,另一列将为status_id。我该怎么做?

0 个答案:

没有答案