你好我有这样的情况:
具有2个字段的实体TAG ManyToMany包含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表中的行。我应该自己做还是有办法做到这一点?
答案 0 :(得分:0)
如果ManyToMany进行级联删除,那么在@ManyToMany注释中设置cascade = CascadeType.ALL应该有效。如果没有,那么您可能需要考虑使用CascadeType.ALL分离为@OneToMany的多个用途(如果可能)。
答案 1 :(得分:0)
我刚刚自己从db中删除了对象。