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