1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
public class VoiturePK {
private String matricule ;
private String code_societe ;
public VoiturePK() {
}
getters and setters
hashCode
equals
}
@IdClass(VoiturePK.class)
@Entity
@Table(schema="public",name="VOITURE")
public class Voiture {
@Id String matricule ;
@Id String code_societe ;
@ManyToMany
@JoinTable(schema="public",
name="VOITURE_OPTION",
joinColumns={
@JoinColumn(name="matricule", referencedColumnName="matricule", nullable=false, updatable=false),
@JoinColumn(name="code_societe", referencedColumnName="code_societe", nullable=false, updatable=false)
},
inverseJoinColumns= {
@JoinColumn(name="code_societe", referencedColumnName="code_societe", nullable=false, updatable=false),
@JoinColumn(name="code_opt", referencedColumnName="code_opt", nullable=false, updatable=false)
}
)
public Set<Option> options ;
etc
}
public class OptionPK {
private String code_opt ;
private String code_societe ;
public OptionPK() {
}
etc
}
@IdClass(OptionPK.class)
@Entity
@Table(schema="public",name="OPTION")
public class Option {
@Id String code_opt ;
@Id String code_societe ;
@ManyToMany
@JoinTable(schema="public",
name="VOITURE_OPTION",
joinColumns={
@JoinColumn(name="code_societe", referencedColumnName="code_societe", nullable=false, updatable=false),
@JoinColumn(name="code_opt", referencedColumnName="code_opt", nullable=false, updatable=false)
},
inverseJoinColumns= {
@JoinColumn(name="matricule", referencedColumnName="matricule", nullable=false, updatable=false),
@JoinColumn(name="code_societe", referencedColumnName="code_societe", nullable=false, updatable=false)
}
)
public Set<Voiture> voitures ;
}
public class OptionVoiturePK {
private String matricule ;
private String code_societe ;
private String code_opt ;
etc
}
@Entity
@Table(schema="public",name="VOITURE_OPTION")
public class VoitureOption {
@Id String matricule ;
@Id String code_opt ;
@Id String code_societe ;
etc
} |
Partager