2012-06-04 136 views
1

我正在使用hibernate多对多关联。我有3个表格(学生,课程和STUDENT_COURSE)。 3个表格中的2个是主表格,1个表格是用于提供关系的中间表格。当从STUDENT中删除记录时,相应的映射将从STUDENT_COURSE中删除。我的要求是它甚至应该从COURSE表中删除记录。 考虑STUDENT_COURSE条目如下:从多对多关系中删除表中的记录?

S-Id C_ID 
101 201 
102 202 

101时被删除在课程表对应于201形式STUDENT表,从上面的表被删除第一个条目,但记录保持原样。我如何删除该记录?我需要执行删除查询吗?许多关系船没有照顾? 以下是我的配置:

<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

这个关系在学生方面是怎样的?你还有cascade =“all”吗? – Korgen

+0

@Korgen感谢您的回复。以上配置仅适用于学生惠普。 – user1016403

+0

对不起,我的意思是在球场边... – Korgen

回答

1

要删除相应课程也如果我删除一个学生,好喜欢你做的对inverse and cascade学生=> STUDENT_COURSE映射学生HBM的配置,同样需要在STUDENT_COURSE HBM做也是STUDENT_COURSE =>课程映射。

相关问题