[Spring data JPA] - Persister des objets managed et detached
Bonjour,
J'ai une application swing dans laquelle je rempli un arbre (JTree) via une base de donnée au travers de Spring Data JPA.
A l'initialisation de mon arbre, les objets ont donc tous un id.
L'application permet d'ajouter des nœuds, des sous nœuds et des feuilles.
Je souhaite enregistrer les modifications lorsqu'on clique sur un bouton enregistrer.
Au stade ou je veux enregistrer, dans mon arbre j'ai des entités qui possèdent un ID et d'autres qui n'en possèdent pas (car elle ne sont pas encore persisté).
La première solution qui m'est venu à l'esprit, est de supprimer tout l'arbre dans la DB et le persister. Seulement j'obtiens une erreur vu que certaines entités possèdent un id...
Donc la 2e solution, c'est de faire un saveorupdate de la racine, mais la j'obtiens des erreurs dont je ne comprend pas trop la cause (des nullpointer exceptions dans le hashcode, alors qu'il n'y a pas de raison)
Ma question est la suivante, comment vous y prendriez vous pour synchroniser la vue à la base de donnée sachant que dans la vue on a pu faire de gros changement ?
(Juste pour info, je veux synchroniser uniquement lors de l'enregistrement de l'utilisateur car dans la vue j'autorise à faire des undo/redo )