组成primaryKey JPA

时间:2015-02-10 20:06:02

标签: java java-ee jpa eclipselink

请使用复合主键实体Detail_Consultation的java类代码

怎么做:

患者( Id ,Cin,Nom,Prenom,Date_Naiss,Adresse,Tel)
咨询( Num ,日期,#Id_Patient,诊断)
药剂( Id ,Nom)
Detail_Consultation( Num_Consultation Id_Medicament ,Remarque)

1 个答案:

答案 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使用MedicamentConsultation的PK来映射数据库级别的关系。与JPA一样,如果您没有使用JPA的默认值,则必须使用@JoinColums / @JoinColumn和/或@MapsId调整列名称。

可能会有更多精彩的设置,即如果您的复合身份拥有自己的实体,则可以@Embeddable使用@EmbeddedId。实体身份将在JPA2 spec的第2.4节中介绍。

相关问题