2012-06-04 2 views
1

Я использую hibernate многих для многих ассоциаций. У меня есть 3 таблицы (STUDENT, COURSE и STUDENT_COURSE). среди 3 таблиц 2 - основные таблицы, а одна таблица - промежуточная таблица для обеспечения отношения судна. когда запись удаляется из STUDENT, соответствующее сопоставление удаляется из STUDENT_COURSE. мое требование - это даже удалить запись из таблицы COURSE. рассмотреть STUDENT_COURSE записи, как показано ниже:Удалить записи из таблицы во многих отношениях?

S-Id C_ID 
101 201 
102 202 

при 101 удаляется форма СТУДЕНТА таблицы, первая запись из приведенной выше таблицы удаляется, но запись, соответствующая 201 в КУРСА таблице остается как есть. как я могу удалить эту запись? мне нужно выполнить запрос на удаление? делает много для многих отношений корабль не заботится? Ниже моя конфигурация:

<set name="course" table="STUDENT_COURSE" 
      inverse="false" lazy="false" fetch="join" cascade="all" > 
      <key> 
       <column name="S_Id" not-null="true" /> 
      </key> 
      <many-to-many entity-name="COURSE"> 
       <column name="C_Id" not-null="true" /> 
      </many-to-many> 
     </set> 

Спасибо!

+0

Как отношения выглядят на стороне ученика? У вас также есть каскад = «все»? – Korgen

+0

@ Korgen благодарит за ваш ответ. выше конфигурации только для студента hbm. – user1016403

+0

Извините, я имею в виду на стороне курса ... – Korgen

ответ

1

Вы хотите удалить Соответствующий курс также, если удалить Студент, Ok Как ты конфигурация в студенческой НВМ на Студенческом => отображении STUDENT_COURSE для inverse and cascade, то же самое, что нужно сделать в STUDENT_COURSE HBM также для STUDENT_COURSE => КУРС отображение.