我有一个带有cooperator和student模型(等等)的弹簧启动应用程序。他们有来自合作者方面的@oneToMany 关系和来自学生方面的@ManyToOne
合作者等级:
@Entity
public class Cooperator{
private Integer id;
public void setId(Integer value) {
this.id = value;
}
@Id
public Integer getId() {
return this.id;
}
private Set<Student> student;
@OneToMany(mappedBy="cooperator", cascade={CascadeType.ALL})
public Set<Student> getStudent() {
return this.student;
}
public void setStudent(Set<Student> students) {
this.student = students;
}
public void addStudent(Student student) {
try {
this.student.add(student);
}
catch(Exception e) {
this.student = new HashSet<Student>();
this.student.add(student);
}
}
}
学生班级:
@Entity
public class Student{
private String studentID;
public void setStudentID(String value) {
this.studentID = value;
}
@Id
public String getStudentID() {
return this.studentID;
}
private Cooperator cooperator;
@ManyToOne(optional=false)
public Cooperator getCooperator() {
return this.cooperator;
}
public void setCooperator(Cooperator cooperator) {
this.cooperator = cooperator;
}
}
我正在通过以下方式测试关系:
@Test
public void cooperatorStudent() {
String studentID = "260632353";
String firstname = "Saleh";
String lastname = "Bakhit";
Student student1 = service.createStudent(studentID, firstname, lastname, cooperator);
assertEquals(cooperator, student1.getCooperator());
}
问题是 assertTrue 语句失败,即使cooperatorStudents实际上包含两个student对象。
非常感谢任何关于为什么会这样的帮助。
明月笑刀无情
互换的青春
相关分类