使用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>