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... »)
Sommaire
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
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<>();