代码:
@Entity
class Teacher implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Long id;
@Column(nullable = false)
@NotNull
String name;
@OneToMany(mappedBy = "teacher",cascade = CascadeType.REMOVE)
List<Course> courses;
}
@Entity
public class Course implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Long id;
@Column(nullable = false)
@NotNull
String name;
@ManyToOne(cascade = CascadeType.REMOVE)
Teacher teacher;
}
三个问题:
我必须在两个实体中加上 CascadeType.REMOVE
吗?我希望它能够正常工作,这样如果我删除教师,课程将自动删除
在我的数据库中,我的ID无法正常工作。我想要它,以便id每次递增1,但它当前增加了一些随机数。的为什么吗
我还有2个@Entity
个类但有@ManyToMany
个关系。 当我想在数据库中保留新对象时,我该怎么办?
答案 0 :(得分:0)
可能与其中一个重复:
JPA: Cascade remove does not delete child
JPA 2.0 orphanRemoval=true VS on delete Cascade
https://stackoverflow.com/questions/22237631/jpa-does-not-cascade-delete-operation-from-parent-entity-to-child-entity
你检查过这些参考文献吗?
需要更多英特尔
您可以单独或单独使用Classe B实例保存A类实例,反之亦然(假设您使用正确的CascadeType
和@ManyToMany
关系,持久化框架,了解这两者)