我有一个多对多的协会。该表是在我的数据库如下:Event
,Customer
和Customer_Event
。
在事件映射文件中,我已使用级联值映射关联"all-delete-orphan"
。
这在添加新记录时非常有效,在删除记录时(如果客户未与另一个事件关联)也可以正常工作。但是,当一个客户与多个事件相关联时,我会收到以下异常:DELETE语句与REFERENCE约束冲突。
这是有道理的,但我想知道是否有可能执行以下操作:
删除事件并自动删除客户关联(即Customer_Event
表中的记录),如果该客户与Customer
另一个事件没有关联,则也将其删除。(即从Customer
表中)
这是我在Event.hbm.xml文件中的映射:
<bag name="CustomerList" table="Customer_Event" inverse="false"
cascade="all-delete-orphan">
<key column="EventId"/>
<many-to-many class="Customer" column="CustomerId" />
</bag>
在执行删除操作之前,请检查此条件,或者在删除方法中再添加一个渔获。
如果您有业务规则,请将其放入您的应用程序中。数据库主要用于数据存储。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句