Article faisant partie d’une série présentant les différentes annotations permettant de traduire des relations entre classes persistantes en bases de données relationnelles.
Une relation ManyToMany est généralement utilisée dans les 2 sens ; nous allons donc voir ce type de relation entre 2 classes J et K.
Diagramme de classes
Dans ce cas, nous devrons obligatoirement nous retrouver avec trois tables dont une de jointure.
Code Java
Code de la classe J
Nous avons défini un attribut liste d’objets K et nous précision dans l’annotation que le lien est mappé avec l’attribut listeJ qui sera définie dans la classe K.
Code de la classe K
Dans cette classe, nous utilisons l’annotation JoinTable pour définir le nom de la table de jointure et de ces champs qui devront correspondre aux deux clés étrangères correspondant aux clés primaires des 2 tables.
Les tables correspondantes
Structure de la table J :
Structure de la table K :
Structure de la table de jointure :
Et voici le script SQL permettant de générer les tables :
Script de la table T_TABLE_J :
Script de la table T_TABLE_K :
Script de la table de jointure :
Nous pouvons vérifier que la clé primaire est composée des deux champs de la table et que chacun est également clé étrangère pour faire le lien entre les 2 autres tables.
Nous venons de voir les différentes annotations qui permettent de définir tous les éléments des tables entrant en jeux pour gérer une relation ManyToMany. En matière de bases de données relationnelle, il existe des relations N,N avec des attributs qui dépendent des 2 entités. Ce cas est un peu plus complexe et sera traité dans un autre article.
Crée par: chris
Créé le: 19 septembre 2015
Modifié le: 19 septembre 2015
Nombre de visites: 1238
Popularité: 20 %
Popularité absolue: 2
2003-2024 LePpf
Plan du site
| Se connecter |
RSS 2.0 |
Sur YouTube
Visiteurs connectés : 2
Nombre moyen de visites quotidiennes sur le site: 208