Je rencontre le problème suivant lorsque j'essaie de mettre à jour mon entité :
"A collection with cascade=”all-delete-orphan” was no longer referenced by the owning entity instance".
J'ai une entité parent et elle a une Set<...>
de certaines entités enfants. Lorsque j'essaie de le mettre à jour, j'obtiens toutes les références à mettre en place dans ces collections et je les mets en place.
Le code suivant représente mon mappage :
@OneToMany(mappedBy = "parentEntity", fetch = FetchType.EAGER)
@Cascade({ CascadeType.ALL, CascadeType.DELETE_ORPHAN })
public Set<ChildEntity> getChildren() {
return this.children;
}
J'ai essayé de nettoyer le Set<..> seulement, selon ceci : Comment résoudre "éventuellement" le problème mais ça n'a pas marché.
Si vous avez des idées, n'hésitez pas à me les communiquer.
Gracias.
3 votes
@mel3kings, le lien que vous avez fourni n'est plus actif.
0 votes
@Opal sysdotoutdotprint.com/technologies/java/12
0 votes
Essayez d'utiliser des collections mutables lorsque vous supprimez des éléments. Par exemple, n'utilisez pas
something.manyother.remove(other)
simanyother
es unList<T>
. Rendre beaucoup d'autres mutables, commeArrayList<T>
et utiliserorphanDelete = true
0 votes
Il y a cet insecte qui semble suspicieusement similaire : hibernate.atlassian.net/browse/HHH-9940 Et le code pour le reproduire : github.com/abenneke/sandbox/tree/master/
2 votes
Lien "Comment résoudre "éventuellement" le problème" n'est plus disponible
0 votes
Le lien 'Comment résoudre "éventuellement" le problème' dans l'Internet Archive...