2010-03-23 4 views
0

이 매핑을 알아 내려고하고 있는데, 어떻게 든 저를 멀리하고 있습니다. 그것이 일반적인 경우 인 것처럼 보이기 때문에 자극적입니다.조인 테이블과 일대 다 양방향 연관을 찾을 수 없습니다.

기본 Parent and Child 클래스와 그 사이에 조인 테이블이 있습니다. Child 클래스는 Parent에 종속적입니다. Child가 Parent에서 제거되면 Child도 삭제되어야합니다. Hibernate 문서는 cascade = "all, delete-orphan"을 지정함으로써 작동한다고 말한다.

하지만 스키마에서 허용하지 않습니다. < 일대 다>를 사용하면 열을 지정할 수 없으며 조인이 작동하지 않습니다. Hibernate 문서마다 < many-to-many unique = "true">를 사용하면 캐스케이드를 지정할 수 없다.

는 여기가 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> 

답변

0

좋아, 내가 마지막으로, 자신을 알아 냈다.

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

캐스케이드 속성은 다 대다가 아닌 목록 요소에 갈 필요

관련 문제