当前位置: 首页 > 知识库问答 >
问题:

是否从多对多关系表中删除记录?

邴奇逸
2023-03-14

我正在使用hibernate多对多的关联。我有3个表(STUDENT,COURSE和STUDENT_COURSE)。在3个表中,2个是主表,1个是提供关系的中间表。当记录从STUDENT中删除时,相应的映射将从Student_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>

谢谢!

共有1个答案

吴和硕
2023-03-14

如果我删除了一个学生,您还想删除相应的课程,就像您在STUDENT_COURSE映射中对反向和层叠进行了STUDENT_COURSE映射中的STUDENT_COURSE hbm中的配置一样,您也需要在STUDENT_COURSE hbm中对STUDENT_COURSE=>课程映射中进行配置。

 类似资料:
  • 问题内容: 我要删除具有多对多关系的一个站点上的表中的一行。我还想删除该关系另一侧的所有相关行。 例如,假设我有以下表格,并且想从中删除一行。我也想从中删除所有相关的行,当然,也删除其中不再需要的任何行。 我知道如何在查询中连接以上表格。但是我看不到如何删除整个关系中的数据。 注意:关系的两端都实现级联删除。因此,例如,从中删除行将删除中的任何相关行。但是显然,这不会传播到表中。 问题答案: 我认

  • 复制和粘贴我前面问题的一些介绍部分。 我在Eclipselink2.3.2中使用JPA2.0,在其中,我在产品和它们的颜色之间建立了多对多的关系。一个产品可以有多种颜色,一种颜色可以与多种产品相关联。这种关系在数据库中由三个表表示。 null 实体类。

  • 在我的项目中,我使用Spring数据jpa。我有多对多关系的表格。我的实体: 和零件: 现在在Controller中,我尝试从表部分中删除一行: 但我有例外: 区分完整性约束冲突:“FK9Y4MKICYBLJWPENACP4298I49:PUBLIC.PARTS外键(ID\u导出)引用PUBLIC.EXPORT(ID)(1)”;SQL语句:/*删除com.aleksandr0412.demo.en

  • 我正在创建一个脚本,用于将一个参数传入MySQL查询,然后执行该MySQL查询以从多个表中删除多条记录。 现在我遇到了一个问题,我需要为每个单独的表创建多个文件。是否有一种方法可以在一个文件中执行每个MySQL查询,而不是为每个查询创建多个文件? 以下是我创建的代码:

  • 我目前正在开发一个网络票证系统,并有课程来存储我的票证数据。每个票据都可以有多个相关标签,为了管理这些标签,我创建了一个标签编辑器。这很好,只缺少一个删除选项。到目前为止,大多数删除都失败了,原因是该标签仍然被另一个票证引用,这需要先删除它。在寻找解决方案的过程中,我遇到了CascadeType。删除,这似乎正是我想要的。 但是,由于ticket对象包含一组标签,而不是相反,因此每次我删除一张ti

  • 文章实体 标签实体 然后我测试新增,随便添加几条数据 查询文章id=1 查询标签id=6 删除文章没问题 但是,删除标签id=6就报错了。服务器错误