Hibernate:Relation plusieurs-à-plusieurs unidirectionnelle

De WIKI.minetti.org
Révision de 7 avril 2016 à 17:14 par Jp (discussion | contributions) (Page créée avec « == 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... »)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
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<>();