我有两个班有很多关系。
学生.java
@Entity
public class Student {
@Id
private Long id;
private String name;
@ManyToMany(cascade = {CascadeType.ALL})
@JoinTable(name = "student_class", joinColumns = {@JoinColumn(name = "student_id")},
inverseJoinColumns = {@JoinColumn(name = "class_id")})
private List<Class> classList = new ArrayList<>();
}
类.java
@Entity
public class Class {
@Id
@GeneratedValue
private Long id;
private String name;
@ManyToMany(mappedBy = "classList",cascade = {CascadeType.ALL})
private List<Student> students;
}
我的问题是如何在控制器中实现post请求?我是否将班级添加到学生的班级列表中,学生将自动被插入到学生列表中?
1条答案
按热度按时间k4ymrczo1#
jpa将实际监视引用的类是
mappedBy
.这意味着jpa在保存、更新或删除期间将考虑
Student
坚持住classList
. 因此,你在这里写的级联没有意义。唯一能真正起作用的级联就是用
mappedBy
```@ManyToMany(cascade = {CascadeType.ALL})
@JoinTable(name = "student_class", joinColumns = {@JoinColumn(name = "student_id")},
inverseJoinColumns = {@JoinColumn(name = "class_id")})
private List classList = new ArrayList<>();