2010-04-11 7 views
0

코스에는 과제 세트가있는 테마 (숙제)와 Disciplina (코스)라는 두 가지 수업이 있습니다. 는 최대 절전 모드에서 나는이 같은 일대 다 연관이를 매핑 한 :집합에서 요소 삭제

<class name="model.Disciplina" table="devgar_scoala.discipline" > 
<id name="id" > 
    <generator class="increment"/> 
</id> 
<set name="listaTeme" table="devgar_scoala.teme"> 
    <key column="Discipline_id" not-null="true" ></key> 
    <one-to-many class="model.Tema" ></one-to-many> 
</set> 
</class> 

<class name="model.Tema" table="devgar_scoala.teme" > 
<id name="id"> 
    <generator class="increment" /> 
</id> 
<property name="titlu" type="string" /> 
<property name="cerinta" type="binary"> 
    <column name="cerinta" sql-type="blob" /> 
</property> 
</class> 

문제는이 (테이블 'Teme'에 삽입 행)를 추가하지만이 모든 행을 삭제하지 것입니다 예외가 발생하지 않습니다.

메기 (merge() 메서드 사용) (!) 참고로

<set cascade="all-delete-orphan"> 

을 - 당신의 모국어로 이름을 피하기 : 귀하의 질문에 (? 어떻게 저장하고 삭제하는) 불분명하지만

답변

0

, 나는 당신이 cascade을 설정해야 좋을 것.

+0

감사합니다. 그것은 작동합니다! – Blitzkr1eg

0

설명에 따르면 TemaDisciplina 없이는 존재할 수 없다는 것을 알고 있습니다. 컬렉션에서 Tema을 삭제하면 삭제하려고합니다. 이것을하기 위해 Hibernate에게 알려 주려면, cascade="all-delete-orphan"을 사용해야한다.

<set name="listaTeme" table="devgar_scoala.teme" cascade="all-delete-orphan"> 
    <key column="Discipline_id" not-null="true" ></key> 
    <one-to-many class="model.Tema" ></one-to-many> 
</set> 

online documentation을 참조하십시오.

관련 문제