2012-02-10 6 views
1

HI J'ai un PK constitué d'un objet intégrable.Hibernate cascade delete via clé primaire embarquable

Il est fait de deux contraintes

@ManyToOne spec SpecificType1; @ManyToOne SpecificType1 spec;

Donc, fondamentalement, une table de mappage entre deux objets.

Je voudrais effacer en cascade en fonction de l'objet qui implémente ce PK intégrable.

J'ai ajouté @Cascade ({CascadeType.DELETE, CascadeType.DELETE_ORPHAN}) sur SpecificType1, mais il n'exécutera tout simplement pas la cascade.

Répondre

1

Cette cascade n'a aucun sens.

Vous avez plusieurs entités Foo ayant le même SpecificType1 (ManyToOne). Et vous configurez Hibernate de sorte que si vous supprimez l'une des instances Foo, il supprime également le SpecificType1. Cela laisserait évidemment toutes les autres entités Foo avec une association à un SpecificType1 non existant, ce qui romprait la contrainte de clé étrangère et entraînerait une annulation.