Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 组合主键JPA_Java_Jakarta Ee_Jpa_Eclipselink - Fatal编程技术网

Java 组合主键JPA

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;

请使用复合主键查看实体详细信息的java类代码

如何做到:

患者Id、Cin、Nom、Prenom、日期、地址、电话 咨询编号、日期、Id\u患者、诊断 医疗补助 详细咨询Num\u咨询、Id\u药物、Remarque

假设您的详细咨询如下所示:

@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节