如何级联保存和删除非集合实体?

时间:2009-07-08 23:10:18

标签: sql nhibernate hibernate

我有一个拥有实体B的实体A.

Class Entity A
{
    public EntityB;
}

Class Entity B
{
    public Entity A;
}

实体B与A有一对一的关系。我正在尝试使用级联保存,在保存实体A时删除,这样我就不必手动保存实体B.它应该自动完成。

我对实体B的映射如下:

<many-to-one name="EntityA" cascade="save-update"
    column="EntityASomeProperty" class="EntityA" />

保存A时,我无法自动保存实体B.

1 个答案:

答案 0 :(得分:0)

看起来你有一个从B到A定义的级联,所以当你保存EntityB时,应该保存EntityA。

如果您希望在保存EntityA时保存EntityB,则需要撤消该配置。请注意,您应该选择要管理此关系的方向,并始终从该方向开始工作。你可以映射两个方向,但做一个反向,以便hibernate知道你打算从哪个方向管理它。

我还建议你使用OneToOne映射,如果它真的是它。