请使用复合主键实体Detail_Consultation的java类代码
怎么做:
患者( Id ,Cin,Nom,Prenom,Date_Naiss,Adresse,Tel)
咨询( Num ,日期,#Id_Patient,诊断)
药剂( Id ,Nom)
Detail_Consultation( Num_Consultation , Id_Medicament ,Remarque)
答案 0 :(得分:0)
假设您的Detail_Consultation
看起来像这样:
@Entity
class Detail_Consultation {
@ManyToOne
Consultation consultation;
@ManyToOne
Medicament medicament;
String remarque;
[...]
}
你的其他实体使用基本类型作为他们的PK,然后你需要做的就是将两个关系标记为身份:
@Entity
class Detail_Consultation {
@Id
@ManyToOne
Consultation consultation;
@Id
@ManyToOne
Medicament medicament;
String remarque;
[...]
}
JPA使用Medicament
和Consultation
的PK来映射数据库级别的关系。与JPA一样,如果您没有使用JPA的默认值,则必须使用@JoinColums
/ @JoinColumn
和/或@MapsId
调整列名称。
可能会有更多精彩的设置,即如果您的复合身份拥有自己的实体,则可以@Embeddable
使用@EmbeddedId
。实体身份将在JPA2 spec的第2.4节中介绍。