Java 组合主键JPA
请使用复合主键查看实体详细信息的java类代码 如何做到: 患者Id、Cin、Nom、Prenom、日期、地址、电话 咨询编号、日期、Id\u患者、诊断 医疗补助 详细咨询Num\u咨询、Id\u药物、Remarque假设您的详细咨询如下所示:Java 组合主键JPA,java,jakarta-ee,jpa,eclipselink,Java,Jakarta Ee,Jpa,Eclipselink,请使用复合主键查看实体详细信息的java类代码 如何做到: 患者Id、Cin、Nom、Prenom、日期、地址、电话 咨询编号、日期、Id\u患者、诊断 医疗补助 详细咨询Num\u咨询、Id\u药物、Remarque假设您的详细咨询如下所示: @Entity class Detail_Consultation { @ManyToOne Consultation consultation; @ManyToOne Medicament medicament;
@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使用药物和咨询的PK在数据库级别映射关系。与JPA一样,如果不使用JPA的默认值,则必须使用@JoinColums/@JoinColumn和/或@MapsId调整列名
更奇特的设置是可能的,也就是说,如果你的复合身份有它自己的实体,你可以使用@EmbeddedId和@EmbeddedId。实体标识见本协议第2.4节