【发布时间】:2014-05-21 19:10:43
【问题描述】:
我正在使用 JPA 和 Hibernate 作为 MySQL DBMS 的提供程序,我说级联删除不适用于我的情况:
@Entity
public class Entity_1{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String nomAttribute;
@ManyToMany(cascade={CascadeType.PERSIST, CascadeType.REMOVE})
private java.util.List<Entity_2> et2;
...
}
第二个实体是
@Entity
public class Entity_2{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
private String nomAttribute;
...
}
结果是三个表
Entity_1 ,Entity_2,Entity_1_Entity_2
我注意到当我删除 Entity_1 时,Entity_2 也被删除了,因为删除时的级联。
我想要的是,当我删除 Entity_1 时,Entity_1 和 Entity_2 之间的关系只删除了 Entity_2,但我尝试了很多选项,但都是徒劳的
我应该使用什么选项,或者没有选项,我应该使用触发器??
【问题讨论】:
-
不,您不需要触发器,请查看此链接:stackoverflow.com/questions/9108224/…
-
他们不是在谈论级联删除,他们在谈论双向关系,如果不是这样,你能具体说明一下plz