假设我有两张桌子--“孩子”和“父母”,有着多对一的关系。如果父记录被删除,我需要删除子条目。
如果我通过在parent.hbm中创建一对多的关联并设置cascade=“所有删除-孤儿”来链接父表,这不是一个问题。
问题是,我不想在父母一方建立一对多的关系,所以我在孩子方面建立了多对一的关系。其原因是子表非常大,每次使用父表时,我都不想提取数百条记录。我的配置如下所示:
child.hbm:
<many-to-one name="parent" class="com.example.Parent" column="parentid"/>而parent.hbm与儿童没有关联。
问题是:如何使Hibernate在删除父表时从子表中删除记录,如果一个子节点链接到具有多对一的父表?。
谢谢。
发布于 2008-12-11 20:09:34
有几种选择:
就我个人而言,我倾向于第一种选择,因为它使您的数据模型更紧密地反映了数据中的真实关系。
编辑:还有第三种选择,但这并不令人愉快--使用数据库触发器,并刷新Hibernate缓存(或者使用非缓存会话)。
https://stackoverflow.com/questions/360026
复制相似问题