import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.PrimaryKeyJoinColumn; import javax.persistence.SecondaryTable; import javax.persistence.SecondaryTables; // Dans SecondaryTable, name correspond au nom de la table et // pkJoinColumns permet de définir les colonnes de jointure. // Si deux attributs composent la clé primaire, il est possible // de définir la valeur de pkJoinColumns sous forme d'un tableau. @Entity @SecondaryTables({ @SecondaryTable(name="PERSO_SECU", pkJoinColumns=@PrimaryKeyJoinColumn(referencedColumnName="ID")), @SecondaryTable(name="PERSO_BANQUE", pkJoinColumns=@PrimaryKeyJoinColumn(referencedColumnName="ID")) }) public class Personne { @Id private int id; private String nom; private String prenom; // Il faut définir explicitement dans quelle table est cet attribut et que // le nom de la table est dans une @SecondaryTable. @Column(table="PERSO_SECU") private Long numSecu; @Column(table="PERSO_BANQUE") private int compteEnBanque; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } public String getPrenom() { return prenom; } public void setPrenom(String prenom) { this.prenom = prenom; } public Long getNumSecu() { return numSecu; } public void setNumSecu(Long numSecu) { this.numSecu = numSecu; } public int getCompteEnBanque() { return compteEnBanque; } public void setCompteEnBanque(int compteEnBanque) { this.compteEnBanque = compteEnBanque; } }