首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate JoinTable

Hibernate JoinTable
EN

Stack Overflow用户
提问于 2013-02-15 20:53:34
回答 1查看 772关注 0票数 1

我正在使用Hibernate来管理Java应用程序中的持久性。我得到了在A端定义的实体A和B之间的ManyToMany关系(A有一个B的集合)。

当我从表B中删除一个对象时,我希望它也从实体A的集合中删除。但是,我不知道如何在Hibernate中定义JoinTable中的外键必须是"on delete cascade“。

如果有人能帮我,我将不胜感激。

编辑:代码示例:

代码语言:javascript
复制
    @Entity
    public class A {

      @ManyToMany
      @JoinTable(name = "aToB", joinColumns = { @JoinColumn(name = "aFk") }, inverseJoinColumns = { @JoinColumn(name = "bFk") })
      public Collection<B> getBs() { ... }

      public void setBs(Collection<B> bs) { ... }

    }

当我查看我的数据库时,表aToB是通过以下命令创建的:

代码语言:javascript
复制
    CREATE TABLE aToB
    (
      afk integer NOT NULL,
      bfk integer NOT NULL,
      CONSTRAINT aToB_pkey PRIMARY KEY (afk , bfk ),
      CONSTRAINT fk156d338f71d2c983 FOREIGN KEY (afk)
          REFERENCES a (id) MATCH SIMPLE
          ON UPDATE NO ACTION ON DELETE NO ACTION,
      CONSTRAINT fk156d338fa35ac77c FOREIGN KEY (bfk)
          REFERENCES b (id) MATCH SIMPLE
          ON UPDATE NO ACTION ON DELETE NO ACTION
    )

我实际上在bfk上对外键有什么"ON DELETE CASCADE“。

EN

回答 1

Stack Overflow用户

发布于 2013-02-15 21:01:03

注释@层叠( CascadeType.DELETE)

您的集合的XML映射文件删除“cascade=”

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14895166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档