使用hibernate更新子表中的问题
我有两个表,使用hibernate更新子表中的问题,hibernate,Hibernate,我有两个表,A&B具有一对多关系 <bag name="uifUnrecogniseSchoolDetailList" cascade="all"> <key not-null="true" update="false"> <column name="uif_detail_state_code"></column> <column name="uif_detail_dis
A&B
具有一对多关系
<bag name="uifUnrecogniseSchoolDetailList" cascade="all">
<key not-null="true" update="false">
<column name="uif_detail_state_code"></column>
<column name="uif_detail_district_code"></column>
<column name="uif_detail_town_code"></column>
<column name="uif_detail_ward_code"></column>
</key>
<one-to-many class="com.aises.pojo.UifUnrecogniseSchoolDetails"/>
</bag>
为此,我在父pojo中使用List
集合
<bag name="uifUnrecogniseSchoolDetailList" cascade="all">
<key not-null="true" update="false">
<column name="uif_detail_state_code"></column>
<column name="uif_detail_district_code"></column>
<column name="uif_detail_town_code"></column>
<column name="uif_detail_ward_code"></column>
</key>
<one-to-many class="com.aises.pojo.UifUnrecogniseSchoolDetails"/>
</bag>
A
的hbm文件的代码为:
<bag name="uifUnrecogniseSchoolDetailList" cascade="all">
<key not-null="true" update="false">
<column name="uif_detail_state_code"></column>
<column name="uif_detail_district_code"></column>
<column name="uif_detail_town_code"></column>
<column name="uif_detail_ward_code"></column>
</key>
<one-to-many class="com.aises.pojo.UifUnrecogniseSchoolDetails"/>
</bag>
<bag name="uifUnrecogniseSchoolDetailList" cascade="all">
<key not-null="true" update="false">
<column name="uif_detail_state_code"></column>
<column name="uif_detail_district_code"></column>
<column name="uif_detail_town_code"></column>
<column name="uif_detail_ward_code"></column>
</key>
<one-to-many class="com.aises.pojo.UifUnrecogniseSchoolDetails"/>
</bag>
<bag name="uifUnrecogniseSchoolDetailList" cascade="all">
<key not-null="true" update="false">
<column name="uif_detail_state_code"></column>
<column name="uif_detail_district_code"></column>
<column name="uif_detail_town_code"></column>
<column name="uif_detail_ward_code"></column>
</key>
<one-to-many class="com.aises.pojo.UifUnrecogniseSchoolDetails"/>
</bag>
在表中插入新记录时,使用saveOrUpate()
方法插入数据时没有任何问题。但当我再次插入相同的记录时,它会更新父表中的现有记录(这是正确的),但在子表中插入新记录,这是错误的。基本上,它应该像父表一样更新子表中的记录。我怎样才能解决这个问题
<bag name="uifUnrecogniseSchoolDetailList" cascade="all">
<key not-null="true" update="false">
<column name="uif_detail_state_code"></column>
<column name="uif_detail_district_code"></column>
<column name="uif_detail_town_code"></column>
<column name="uif_detail_ward_code"></column>
</key>
<one-to-many class="com.aises.pojo.UifUnrecogniseSchoolDetails"/>
</bag>
谢谢
<bag name="uifUnrecogniseSchoolDetailList" cascade="all">
<key not-null="true" update="false">
<column name="uif_detail_state_code"></column>
<column name="uif_detail_district_code"></column>
<column name="uif_detail_town_code"></column>
<column name="uif_detail_ward_code"></column>
</key>
<one-to-many class="com.aises.pojo.UifUnrecogniseSchoolDetails"/>
</bag>