JPA offre la possibilité de cascade opérations (fusionner, persister, actualiser, supprimer) aux entités associées. La logique est dans JPA et n'utilise pas les cascades de bases de données.
@OneToMany(cascade=CascadeType.REMOVE)
Il n'existe aucun moyen conforme à la norme JPA de créer des cascades avec des cascades de base de données. Si une telle cascade est préférée, nous devons nous rabattre sur la construction spécifique à Hibernate :@ En cas de suppression
. Cela fonctionne avec @OneToMany
au moins, mais il y avait des problèmes dans le passé avec @OneToOne
et @OnDelete
.
@OnDelete(action = OnDeleteAction.CASCADE)
Sachez que l'ajout de cette annotation à une contrainte existante ne la mettra pas à jour. Vous devrez peut-être d'abord le supprimer manuellement pour mettre à jour correctement le schéma.