Bonjour.
J'ai un petit soucis de mapping avec les annotations hibernate:
J'ai un lien A 1<------->n B
Donc bidirectionnel
Dans ma classe A j'ai :
Et dans B :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 @OneToMany(mappedBy="a") public List<B> getBs() { return Bs; }
Quand je teste ce mapping, je peux sauver les relations de B vers A, elles sont bien dans ma table de lien a_b:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 @ManyToOne(cascade = CascadeType.ALL, targetEntity= A.class) @JoinTable(name = "a_b", joinColumns = { @JoinColumn(name = "idB") }, inverseJoinColumns = { @JoinColumn(name = "idA") }) public A getA() { return this.a; }
Si je tente de sauver les liens A vers B je n'ai aucune exception mais seul les objets objetA et objetB sont sauvés, les liens n'apparaissent pas dans ma table de jointure a_b
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 A objetA = new A("objetA"); B objetB = new B("objetB"); B.setA(objetA );
Y a-t-il une annotation qui me manque pour indiquer la relation bidirectionnelle?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 A objetA = new A("objetA"); List<B> listB = new ArrayList<B>(); B objetB = new B("objetB "); listB .add(objetB ); objetA.setBs(listB );
Merci pour votre aide.
Benoit
Partager