Maison > Java > javaDidacticiel > Voici quelques options de titre, chacune mettant en évidence un aspect différent de l'article : Concentrez-vous sur le problème : * JPA CascadeType.ALL : Pourquoi la suppression des nœuds orphelins n'est-elle pas automatique * Comment supprimer les orphelins

Voici quelques options de titre, chacune mettant en évidence un aspect différent de l'article : Concentrez-vous sur le problème : * JPA CascadeType.ALL : Pourquoi la suppression des nœuds orphelins n'est-elle pas automatique * Comment supprimer les orphelins

DDD
Libérer: 2024-10-27 09:18:03
original
973 Les gens l'ont consulté

Here are a few title options, each highlighting a different aspect of the article:

Focus on the Problem:

* JPA CascadeType.ALL: Why Deleting Orphaned Nodes Isn't Automatic
* How to Delete Orphaned Nodes in JPA with CascadeType.ALL
* The Challenges of O

JPA CascadeType.ALL : Suppression de nœuds orphelins

Lors de l'utilisation de JPA avec l'association CascadeType.ALL, vous pouvez rencontrer des difficultés pour supprimer des nœuds orphelins. Par défaut, CascadeType.ALL ne supprime pas automatiquement les entités orphelines lors de la suppression de l'entité parent.

Pour résoudre ce problème, vous avez plusieurs options :

Avec Hibernate

Si vous utilisez Hibernate, vous pouvez spécifier l'annotation CascadeType.DELETE_ORPHAN en conjonction avec CascadeType.ALL. Cela garantit que les entités orphelines sont automatiquement supprimées lorsque l'entité parent est supprimée.

Sans mise en veille prolongée

Si vous n'utilisez pas Hibernate, vous devez supprimer manuellement les entités orphelines avant de supprimer le parent. entité pour éviter de laisser des enregistrements orphelins dans la base de données. La séquence d'exécution recommandée est la suivante :

  1. Récupérez la ligne principale à supprimer.
  2. Récupérez les éléments enfants.
  3. Supprimez tous les éléments enfants.
  4. Supprimez la ligne principale.
  5. Fermez la session.

Amélioration JPA 2.0

JPA 2.0 introduit l'option orphanRemoval = true , qui automatise la suppression des entités orphelines lorsque l'entité parent est supprimée. Cette option peut être utilisée avec l'annotation @OneToMany comme suit :

@OneToMany(mappedBy="foo", orphanRemoval=true)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal