Bonsoir,
j'ouvre un nouveau post pour un sujet tjs sur l'utilisation des JPA. Un sujet délicat encore semble t il
Prenons un cas d'école une nouvelle fois :
3 tables toutes liées via une table de jointure vu que nous sommes en présence de cardinalité 0,n.
- Nous avons donc T_E_USER, T_E_TYPE et T_E_AIR.
Chaque table ayant un ID numérique, et un champ simple type VARCHAR.
- Une table de jointure T_J_USR_TPE_AIR est créée avec les 3 ID référencées en clés étrangères formant une clé primaire composé.
En terme de code, je suis toujours sur une utilisation d'outils style HIbernate Tools pour me générer mes entités (version JPA).
Et c'est là que les problèmes commencent....
Je me retrouve dans chaque classe représentant une table d'entité avec un attribut de type Set ayant une annotation @OnetoMany.
J'ai une classe représentant la jointure qui a un attribut id de type complexe (une autre classe) avec une annotation EmbeddedId pour la clé composée.
Et des attributs représentant les 3 entités avec des annotations @ManyToOne.
Voici mes questions, car c'est là que je suis paumé:
- que doit définir le "mappedBy" dans l'annotation @OneToMany dans mes entités ?
- Suis je obligé de faire une classe Entité représentative de la jointure ?
- Comment fonctionne le mode CASCADE ? Est il possible de l'utiliser dans ce contexte afin d'enrichir la table de jointure "automatiquement" ? Ou dois je instancier manuellement la classe représentative de la jointure afin de persister moi même les infos ?
Bref si qqun a un exemple concret....je suis preneur. Je me farcis des dizaines de doc PDF sur les JPA mais je ne trouve aucune vraie explication pour ce genre d'exemple.
Un grand merci par avance à toute âme charitable qui pourrait me filer un coup de main.
![]()
Partager