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

J’ai travaillé sur un prototype d’application qui gère les collaborateurs en fonction de leurs connaissances. Lorsque j’ai commencé à mapper le modèle de données, je me suis trouvé face à une problématique dont j’ignorais la solution : 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 ?Lorsque j’ai posé la question autour de moi, la meilleure réponse était : c’est une belle question pour StackOverFlow. En cherchant sur internet je n’ai malheureusement trouvé que des ébauches de solutions…

Quelques heures de travail et quelques lignes de codes plus tard, voici une solution simple et élégante… Je détaillerai cette démarche dans deux billets :

  • Le premier décrit une solution basée sur la version 1.0 de l’API
  • Le second propose  de s’appuyer sur une annotation spécifique à JPA 2.0

Lire la suite