1

我对级联一对多关系有疑问。我的一个表包含一个组件,该组件链接到另一个表,这是我的画廊(画廊与其他表有多种关系。)。然后该组件在我的一个基类中使用。我使用实体开发人员生成代码,并通过以下几行完成:Baseinfo.hbm.xml

...
<component>
   ...
   <many-to-one name="LocationMap" class="..." cascade="all">
        <column name="ImageId" not-null="true"/>
    </many-to-one>
</component>

……

由于我有时需要将其设置为 null,因此我将 not-null 更改为“false”。一切正常,直到我遇到删除记录。将 LocationMap 设置为 null 后,我检查了数据库,发现图像记录仍然存在。经过一些论坛后,我确实还在级联选项中添加了“delete-orphan”,man: cascade="all,delete-orphan" 但它没有用,我还将应用程序置于调试模式,并在执行保存代码后,我尝试了这在即时窗口上: session.Flush(); 那没有用...我不想经历丑陋的编码,并且记得删除以后代码的记录,因为它不起作用...,我该怎么办?!

4

1 回答 1

1

我认为不all,delete-orphan支持many-to-oneand component。看到这个问题,有一个可能的解决方法。

于 2015-05-20T16:08:53.200 回答