Bonjour,
J'aurais aimé avoir un renseignement concernant JPA. Je ne cherche pas à savoir comment l'utiliser, ça c'est fait, mais plutot comment il fonctionne en arrière plan.
J'ai recherché sur le web, mais je ne trouve que les implémentations et pas de code sources. Je peux obtenir la javadoc des classes JPA, mais ce n'est pas ce que je recherche.
Donc comment fait-il, dans le cas des relations @oneToMany et ManyToOne pour remplir une collection.
Par exemple:
J'ai une classe Parc avec ses propriétés et l'une d'elles et une collection de la classe PC.
JPA arrive à faire que la classe Parc connaisse les PC qui lui sont raccordés, et les PC connaissent le Parc auquel ils sont attribués.
J'avais essayé de faire cela, lorsque je débutais en JAVA, mais je m'étais retrouvé face à un problème d'effet cascade.
Je m'explique: le Parc chargeait la collection de ses PC. Quand j'instanciais un PC, je chargeais le Parc qui lui était associé, et, par cascade, le Parc rechargeais la collection de ses PC et ainsi de suite.
Donc ma question est: comment cela est géré, je parle du concept, dans JPA pour éviter l'effet cascade?
Commence-t-il par créer le Parc, puis il recherche les PC qui ont un clé étrangère idParc (ce qui est défini dans referencedColumnName). Méthode de recherche qui, je suppose, doit avoir un argument type "caller" dans lequel on retrouvera le Parc. Puis lorsque l'on instancie le PC, la propriété Parc sera donc l'argument caller?
Je n'arrive pas à imaginer la logique utilisée, j'ai l'impression que ma logique a un maillon manquant.
Quelqu'un peut-il m'éclairer?, ou me dire ou on peut trouver les codes sources? J'avais essayé sur le site de SupInfo, mais il est en maintenance depuis un bon bout de temps.
Merci
Partager