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