Bonjour,

Une classe "Utilisateur" contient la définition suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
@ManyToMany(cascade=CascadeType.ALL, fetch = FetchType.LAZY)  
    @JoinTable(name="utilisateur_adresse", joinColumns=@JoinColumn(name="uti_id"), inverseJoinColumns=@JoinColumn(name="adr_id"))  
    private List<Adresse> listAdresse = null;
... et la classe "Adresse" contient la définition suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
@ManyToMany(mappedBy = "listAdresse", fetch = FetchType.LAZY)
    private List<Utilisateur> listUtilisateur = null;
La table de jointure "utilisateur_adresse" est bien créée de cette manière.

Par contre la clé de cette table doit être composée des deux champs "uti_id" et "adr_id". Mais la table créée ne contient tout simplement pas de clé primaire. Seules les clés secondaires sont définies.

Quelle est l'annotation qui permet de définir cette clé primaire composée dans la table de jointure ?

Merci pour vos réponse.

A+