Hi everybody.
I need your help.
I have table in that form :
_______________ ░░ _________________░░_____________
│░░░░sfd░░░░░░│░░│sfd_forme_juridique│ │ forme_juridique│
├─────────────░░ ────────────── ░░├────────────
│ -id ░░░░░░░░░│░░ │░░-idSfd░░░░░░░░│░│-id
│ -numAgreement│░░│░-idFormeJuridique│░░│-libelle
│ -nom░░░░░░░░│░░│░░-dateDebut░░░░│░│-enabled
│ -dateAgreement│░ │░░-dateFin░░░░░░│░░└────────
│ -dateRetraitAgr│░░│░░-enabled░░░░░░│
└──────────── ░░└───────────────
with code:
Code:
@Entity
@Table(name = "sfd", catalog = "rol1")
public class Sfd implements java.io.Serializable {
private Integer id;
private String numAgreement;
private String nom;
private Date dateAgreement;
private Date dateRetraitAgreement;
private boolean enabled;
private Set<FormeJuridique> formeJuridiques=new HashSet<FormeJuridique>();
//Getters + setters +constructors
@ManyToMany(fetch = FetchType.LAZY)
@Cascade( { CascadeType.SAVE_UPDATE })
@JoinTable(name = "sfd_forme_juridique", catalog = "econtrol1",
joinColumns = { @JoinColumn(name = "idSfd", nullable = false) },
inverseJoinColumns = { @JoinColumn(name = "idFormeJuridique", nullable = false) })
public Set<FormeJuridique> getFormeJuridiques() {
return this.formeJuridiques;
}
public void setFormeJuridiques(Set<FormeJuridique> formeJuridiques) {
this.formeJuridiques = formeJuridiques;
}
}
FormeJuridique
Code:
@Entity
@Table(name = "forme_juridique", catalog = "rol1")
public class FormeJuridique implements java.io.Serializable {
private Integer id;
private String libelle;
private boolean enabled;
private Set<Sfd> sfds;
//Getters + setters +constructors
@ManyToMany(fetch = FetchType.LAZY,mappedBy = "formeJuridiques")
public Set<Sfd> getSfds() {
return this.sfds;
}
public void setSfds(Set<Sfd> sfds) {
this.sfds = sfds;
}
}
The class Association
Code:
@Entity
@Table(name = "sfd_forme_juridique", catalog = "rol1")
public class SfdFormeJuridique implements java.io.Serializable {
private SfdFormeJuridiqueId id;
public SfdFormeJuridique() {
}
public SfdFormeJuridique(SfdFormeJuridiqueId id) {
this.id = id;
}
@EmbeddedId
@AttributeOverrides({
@AttributeOverride(name = "idSfd", column = @Column(name = "idSfd", nullable = false)),
@AttributeOverride(name = "idFormeJuridique", column = @Column(name = "idFormeJuridique", nullable = false)),
@AttributeOverride(name = "dateDebut", column = @Column(name = "dateDebut", length = 10)),
@AttributeOverride(name = "dateFin", column = @Column(name = "dateFin", length = 10)),
@AttributeOverride(name = "enabled", column = @Column(name = "enabled")) })
public SfdFormeJuridiqueId getId() {
return this.id;
}
public void setId(SfdFormeJuridiqueId id) {
this.id = id;
}
}
The probleme when I do
sfd=new Sfd("sfd1");
sfd.addFormeJuridique(new FormeJuridique("fj11");
sfd.save();
the sfd is saved, alse the formeJuridique but the class association was not filled.
Someone can help me please.