Bonjour à tous, voici mon problème :
J'ai une table, par exemple Contrat, et une autre, CompagnieTransport.

Un contrat peur être lié a plusieurs compagnies, et une compagnie a plusieurs contrats. On a donc une relation de type manyToMany.

J'utilise donc une table d'association Contrat_CompagnieTransport, à l'intérieur de laquelle j'ai les clés de chaque table.
Le soucis, c'est que j'ai des champs en plus, on va dire dateDepart, dateArrivee, effectif, ces champs sont dans ma table d'association, ce qui donnerait donc par exemple :

idContrat 3
idCompTransport 19
dateDepart 22/10/2010
dateArrivee 23/10/2010
effectif 42

Comment implémenter ceci en JPA ?

Le code suivant fonctionnerait bien si si il'y avait pas d'autres attributs que les clés étrangères :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
//Dans Table Convention 
@ManyToMany
    @JoinTable(name = "Convention_Compagnie", joinColumns = {
        @JoinColumn(name = "convention_id", unique = true)},
    inverseJoinColumns = {
        @JoinColumn(name = "compagnie_id")})
    private Set<Convention_Compagnie> compagnies = new HashSet<Convention_Compagnie>();
 
 
 
//Dans Table CompagnieTransport
@OneToMany(mappedBy = "compagnie", cascade = { CascadeType.REMOVE })
    private Set<Convention_Compagnie> conventions = new HashSet<Convention_Compagnie>();

Mais avec les attributs en plus, je ne sais pas...
Voila merci de votre aide !
@ + !