Java Can';t找出与联接表的一对多双向关联

Java Can';t找出与联接表的一对多双向关联,java,hibernate,orm,join,Java,Hibernate,Orm,Join,我试图弄清楚这个映射,但不知怎么的,它只是在逃避我。这很令人恼火,因为这似乎应该是一个常见的情况 我有一个基本的父类和子类,它们之间有一个联接表。子类依赖于父类:如果从父类中删除子类,则也应该删除该子类。Hibernate文档说,这是通过指定cascade=“all,delete orphan”实现的 但是模式不允许这样做。如果使用,则无法指定列,联接将无法工作。如果我在Hibernate文档中使用,我就不能指定级联 以下是我现在所看到的,摘自: 好的,我终于自己想出来了 cascade属性需要

我试图弄清楚这个映射,但不知怎么的,它只是在逃避我。这很令人恼火,因为这似乎应该是一个常见的情况

我有一个基本的父类和子类,它们之间有一个联接表。子类依赖于父类:如果从父类中删除子类,则也应该删除该子类。Hibernate文档说,这是通过指定cascade=“all,delete orphan”实现的

但是模式不允许这样做。如果使用<一对多>,则无法指定列,联接将无法工作。如果我在Hibernate文档中使用,我就不能指定级联

以下是我现在所看到的,摘自:


好的,我终于自己想出来了

cascade属性需要位于list元素上,而不是多对多:

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

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