使用双向ManyToMany删除实体 - OneToMany

时间:2014-02-11 10:16:09

标签: java oracle hibernate jpa spring-data

我必须看到这样的类:

内容:

public class Content {

    @JsonIgnore
    @ManyToMany(cascade = CascadeType.ALL)
    @JoinColumn(name = "content_id")
    @OrderBy("position")
    protected List<Links> links = new ArrayList<Links>();

    // some more fields and stuff

}

链接:

public class Links {

    // refers to content
    @ManyToOne(cascade = CascadeType.ALL)
    private Content content;

    // some more fields and stuff

}

内容可以包含许多指向其他内容的链接。链接指向内容,可以属于许多内容。

当我尝试删除通过链接链接的内容并在内容中使用这些链接时,我得到一个例外:

Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-02292: integrity constraint (KEYNAMEXXXXXXXXXXXXXXX) violated - child record found

消息中的外键是表LINK的主键。删除规则为No Action

我正在使用Oracle数据库,所有表都是由hibernate创建的。

orphanRemoval没有处理关系注释。

修改

这是我正在尝试做的事情 enter image description here

0 个答案:

没有答案