2010-10-05 6 views
0

J'ai une classe A qui a l'ensemble de classe B. classe A et la classe B a leur propre table. Lorsque j'insère la classe A, j'insère également la classe B. Quand je mets à jour la classe B, Hibernate supprime tout de la classe B qui appartient à cette instance de A, puis insère toutes les valeurs dans l'ensemble courant B. ajouté dans l'ensemble b, alors il insère seulement 2 valeurs et laisse le reste. J'essaie saveorupdate mais ça ne marche pas.Annotation Hibernate inutile supprimer et insérer

+0

affichez le code ....... – Bozho

+0

et acceptez les réponses. Vous avez posé sept questions sur stackoverflow et en avez accepté une seule. Les gens ne répondront pas à vos questions si vous ne les acceptez pas. –

Répondre

0

Hibernate se comporte généralement comme ceci lorsque vous effacez l'ensemble avant d'ajouter les éléments, ou lorsque vous remplacez l'ensemble par une nouvelle instance. Dans les deux cas, il supprime les éléments dans une instruction SQL. C'est essentiellement une optimisation lorsque la liste a été construite à partir de zéro.

Assurez-vous de ne retirer que les éléments dont vous n'avez plus besoin.

+0

Actuellement, je reçois la classe A de la base de données, puis compare les nouvelles valeurs de A avec la valeur précédente de A. J'ajoute, supprime les entrées de B dans mon code en comparant ancien jeu et nouvel ensemble. Mais il est douloureux d'écrire du code pour chaque ensemble. Par conséquent, je suis à la recherche d'une autre solution – dmay

+0

écrire une classe d'aide avec certains outils basés sur les ensembles. –

Questions connexes