我有 3 个表:帐户、医生、患者
- 帐户(User_id、全名、电子邮件、密码)
- 患者(Patient_id、healthrecord_id、insurance_id)
- 医生(Doctor_id、professional_statement、clinic_id)
Patient_id 和 Doctor_id 是主键,也是引用 Account 表中 User_id 的外键。我认为账户-病人、账户医生是一对一的关系。我不知道如何在Hibernate Entity中实现它
最佳答案
@Entity
public class Account {
@Id
private String id;
@OneToOne
private User user;
}
创建父类(super class)
@MappedSuperclass
public abstract class User {
@Id
private String id;
}
并用您的实体扩展它。
@Entity
public class Doctor extends User {
private String name;
private String email;
}
您需要创建一个(抽象)类 User 并扩展为
病人和医生也是如此。您只需要在基本实体上定义 id
字段。
您还必须为所有类提供 getter 和 setter。我建议使用lombok
注释@Getter
和@Setter
或者您可以将它们一一映射到帐户实体。
如果有什么不清楚的地方,请联系我!
关于mysql - Hibernate Spring Boot中如何实现IS-A关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44019574/