Bonjour.
Je planche depuis plusieurs jours en avalant doc sur doc et tuto sur tuto sans arriver à résoudre mon problème qui pourtant me semble être une situation simple et courante.
Je vais prendre l'exemple 22.8.6.One To Many List Collection
dans cet exemple comme dans mon problème la classe Department a une relation avec la classe Student de type OneToMany,
mais dans ce tutoriel comme dans beaucoup d'autres il n'y a pas de persistance en cascade.
J’ai essayé entre autres le tuto 22.8.8.One To Many Cascade.All au titre prometteur,
mais celui-ci ne fait réponds pas à mon besoin.
Je voudrais lorsque je persiste un Department persister tous ses Students.
J'ai cherché partout sans comprendre comment m'y prendre.
Les ajouts des annotations commedans Department ne changent rien. Pire en suivant certaine doc je me retrouve avec des exceptions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 @OneToMany(mappedBy="department", cascade=CascadeType.PERSIST) @OrderBy("name ASC") private List<Student> students;
J’ai de très (TRES) nombreuses structures qui se présentent sous forme hiérarchique dont la racine (root) est toujours une classe dérivée de la même classe.
Je voudrais pouvoir quelque soit la classe dérivée pouvoir faire
pour enregistrer l'ensemble de l'arbre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part em.persist(myRootObject);
Je ne vois dans ce besoin rien que de très basique et, j'imagine, mal JPA ne pas pouvoir répondre à ce besoin. Mais je ne comprends pas comment m'y prendre.
Je suis parvenu à faire fonctionner le cas OneToOne dans le cas ou les deux tables ont un ID de l'autre, mais ce n'est jamais le cas chez moi. toutes les tables ont une clef externe du père que la relation soit 1-1 ou 1-n
Merci pour toute l'aide que vous pourrez m’apporter
A+JYT
Partager