级联上的一对一删除

时间:2012-02-02 17:07:57

标签: hibernate jpa one-to-one

我有两个课程:入学和内容。

public class Entry implements Serializable {
     @OneToOne(cascade=CascadeType.ALL)
     private Content content;
}

内容有他的价值观(名称等等)......我想要做的是如果一个内容被删除我想删除任何与其相关的条目......

这不是典型的孤儿问题(我没有删除条目!我正在删除内容)

条目可以包含或不包含与...相关的内容,并且内容存在与主语无关...

怎么说休眠“嘿......如果你要删除一个内容找到任何相关的FK并删除它!”

2 个答案:

答案 0 :(得分:1)

为什么不按如下方式创建从内容到条目的链接:

public class Content implements Seralizable {
    @OneToOne(cascade=CascadeType.REMOVE, optional=true)
    private Entry entry;
}

请注意可选属性。这表示内容可能没有您在帖子中所说的与其相关的条目。

答案 1 :(得分:0)

使关联成为双向,并级联删除:

public class Content {
    ...
    @OneToOne(mappedBy = "content", cascade = CascadeType.REMOVE)
    private Entry entry;

}