我已经定义了两个类之间的多对多关系。事件和人员(在单独的数据库表 person_event 中定义)。现在,假设我想删除一个人,因此它与事件的所有相关关联也必须从 person_event 表中删除。换句话说,我想要级联 ON DELETE。
让我们考虑一个场景:
- “事件”表包含三个由 id=1、2、3 标识的事件。
- “人”表包含两个由 id=4, 5 标识的人。
- 包含 1-4、2-4、3-5 等关联的“person_event”表
现在,假设我使用 Hibernate.delete() 删除事件 1,那么它不仅删除了 event1 和关联 person_event1-4,还删除了 person4!
问题是 person4 被另一个表引用并且它抛出一个外部约束异常......我如何配置 NHibernate 来删除事件和关联 person_event?