Mapping en JPA 2.0 d’une table de jointure ayant des colonnes supplémentaires

Cet article est la suite d’un premier billet où j’ai présenté une première solution en JPA 1.0 à la problématique : Comment mapper, en JPA (Java Persistence API),  une table de jointure comportant des colonnes supplémentaires en plus des colonnes de clés étrangères constituant sa clé primaire ? S’il y a quelque chose à reprocher à cette première solution, c’est la contrainte de mapper deux fois les colonnes constituant la clé primaire de la table de jointure. Mais grâce l’annotation @MapsId, une nouvelle annotation propre à l’API JPA 2.0, on peut avoir une solution plus élégante. Mais avant de présenter la solution en utilisant cette annotation, je vous encourage à revenir au premier billet où j’ai bien présenté la problématique et l’exemple de modèle de données sur lequel je me suis basé.

Lire la suite