0

你好我有这样的情况:

具有 2 个字段 ManyToMany 的实体 TAG,其中包含 2 组对象(Obj1、Obj2)。当我删除 Obj1 时,我想删除 TAG 实体中设置的 Obj1 中包含的所有信息。你能告诉我怎么做吗?


@Entity(name = "tag")
public class Tag {

    .....

@ManyToMany(fetch = FetchType.LAZY)
private Set<Checkpoint> checkpoints;

    ......
}

@Entity(name = "checkpoint")
public class Checkpoint implements Serializable {

            ......

}

检查点中没有对标签的引用。如果我将 Cascade 设置为 ManyToMany,那么当我删除标签时,所有具有此标签的用户都会被删除。我想要的是在删除检查点时删除 tag_checkpoint 表中的行。我应该自己做还是有好的方法可以做到这一点?

4

2 回答 2

0

如果 ManyToMany 进行级联删除,那么在 @ManyToMany 注释中设置 cascade=CascadeType.ALL 应该可以工作。如果没有,那么您可能需要考虑使用 CascadeType.ALL 将 @OneToMany(如果可能)分成多种用途。

于 2013-06-23T05:49:21.303 回答
0

我只是自己从数据库中删除了对象。

于 2013-08-27T15:59:47.837 回答