Bonjour.
J'ai lu la documentation en long, en large et en travers, et je n'arrive pas bien à savoir à quoi sert l'attribut inverse, et de quel côté de l'association il faut le mettre ?
Merci d'avance.
@+
Rémi
Bonjour.
J'ai lu la documentation en long, en large et en travers, et je n'arrive pas bien à savoir à quoi sert l'attribut inverse, et de quel côté de l'association il faut le mettre ?
Merci d'avance.
@+
Rémi
au risque de poser une question bete, dans mon cas j ai une relation plusieurs a plusieurs avec table de jointure, je peux placer l attribut inverse du cote que je veux ou y a t il une regle a suivre ?
merci de votre aide
donc le cas d'une relation many to many, tu suis le sens de ta table de jointure. prenons un exemple:
Etudiant(id_etudiant, nom, prenom,...)
Cours (id_cours, libelle, ...)
un etudiant peut assister à un ou plusieurs cours, donc nous aurons une table de jointure qui relie les deux précédentes soit EtudiantCours(id_etudiant, id_cours).
donc l'attribut inverse sera positionné à true du coté Cours. cela va permettre à Hibernate (qui ne connais pas la forme de la table EtudiantCours) de construire correctement ses requetes. par contre si tu positionne l'attribut inverse à true du coté Etudiant, Hibernate comprendra que la table EtudiantCours a la forme EtudiantCours(id_cours, id_etudiant) !! ce qui est l'inverse de ce que tu as dans ta base de données.
Meme principe pour les relation one to many/ many to one, continuons avec l'exemple précédent:
un cours a lieu dans une salle, nous aurons donc une table Salle(id_salle, ...)
et la table Cours aura une clé étrangère vers la table Salle. Cours(id_cours, ..., id_salle). inverse sera positionné du coté père (Salle) car c'est la table Cours qui détient la relation père-fils (la clé étrangère).
J'espère avoir répondu à vos questions.
Cdlt.
Partager