我有一对一的亲子关系
父类hbm.xml Pipeline_Facility_Id_Seq
<many-to-one name="pipelineData" class="com.db.loud.dto.gctpipeline.PipelineData" column="LOAN_ID" not-null="true"/>
<one-to-one name="shippingFacilityAsset" class="xxx.ShippingFacilityAsset" cascade="all"/>
Child hbm.xml
<class name="com.db.loud.dto.gctpipeline.ShippingFacilityAsset" table="Shipping_Facility_Asset" >
<id name="facilityId" type="long">
<column name="FACILITY_ID" not-null="true" sql-type="NUMBER" />
<generator class="foreign">
<param name="property">pipelineFacility</param>
</generator>
</id>
<one-to-one name="pipelineFacility" class="com.db.loud.dto.gctpipeline.PipelineFacility" constrained="true"/>
现在正在更新它时抛出错误“BL错误:批量更新从更新[0]返回意外行数;实际行数:0;预期:1”
因为它没有找到要更新的子行,这是真的。 所以错误是预期的。
这是我们可能正在更新表中没有子对象的对象的商业案例吗?
我该如何解决?
我需要插入子实体+更新父实体,其中父记录已存在于主表中,子记录从子表中丢失。
答案 0 :(得分:0)
将dynamic-update =“ true”添加到休眠映射xml对我有用