Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何级联保存和删除非集合实体?_Sql_Nhibernate_Hibernate - Fatal编程技术网

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

Sql 如何级联保存和删除非集合实体?,sql,nhibernate,hibernate,Sql,Nhibernate,Hibernate,我有一个实体A,他有实体B 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"

我有一个实体A,他有实体B

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

看起来您有一个从B到a的级联定义,因此当您保存EntityB时,EntityA应该被保存

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


我还建议您使用OneTONE映射,如果这是真实的映射。

您好,我明白您的意思。但我的下一个问题是在entityA上创建一对一映射后,该映射将保存实体B。我遇到一个错误,无法将null插入到列的ENtityB中。该列包含entityA propertyENtityA Guid。