Hibernate:Relation plusieurs-à-plusieurs unidirectionnelle

De WIKI.minetti.org
Aller à : navigation, rechercher

But

Lier deux objets A et B:

  • L'objet A contient une liste d'objets B;
  • L'objet B ne comporte aucun lien vers l'objet A, mais chaque objet B est lié à un ou plusieurs objet A.

Au niveau de la base de données on va avoir une table de jointure qui va faire le lien entre la table de l'objet A et celle de l'objet B.

Diagramme de classe

Uml association 4.gif

Tables

TODO

Annotations

Relation de la classe A:

@ManyToMany
@JoinTable(name = "JOINTURE_AB", joinColumns = @JoinColumn(name = "A_ID"), inverseJoinColumns = @JoinColumn(name = "B_ID"))
@ForeignKey(name = "FK_JOINTURE_AB_A", inverseName = "FK_JOINTURE_AB_B")
@Cascade({ CascadeType.MERGE, CascadeType.PERSIST })
private Set<B> relationB = new HashSet<>();