代码之家  ›  专栏  ›  技术社区  ›  levand

无法找出与联接表的一对多双向关联

  •  0
  • levand  · 技术社区  · 15 年前

    但模式不允许。如果我使用<一对多>,我无法指定列,联接将不起作用。如果我使用<多对多unique=“true”>根据Hibernate文档,我不能指定级联。

    这是我现在从 Hibernate docs

    <class name="Parent" table="parent_table">
        <id name="id" column="id">
            <generator class="assigned"/>
        </id>
        <property name="name" type="string"/>
        <list table="my_join_table" name="children">
            <key column="parent_id"/>
            <list-index column="idx">
            <!-- how do I put a cascade on this!? -->
            <many-to-many column="child_id" 
                          class="Child"
                          unique="true"/>
        </list>
    </class>
    
    <class name="Child" table="child_table">
        <id name="id" column="id">
            <generator class="assigned"/>
        </id>
        <property name="name" type="string"/>
        <join table="my_join_table" inverse="true" optional="false">
            <key column="child_id"/>
            <many-to-one name="parent" column="parent_id" not-null="true"/>
        </join>
    </class>
    
    1 回复  |  直到 15 年前
        1
  •  0
  •   levand    15 年前

    好吧,我终于自己想出来了。

     <list table="my_join_table" name="children" cascade="all,delete-orphan">
        <key column="parent_id"/>
        <list-index column="idx">
        <!-- how do I put a cascade on this!? -->
        <many-to-many column="child_id" 
                      class="Child"
                      unique="true"/>
    </list>