我有三個表格來存放學生信息,第二個存放班級信息。三是對學生和班級studentclass表進行關聯JPA:在表關聯關係中級聯
的實體和關係給出如下
class Student
{
@Id
@Column(name="STUDENT_ID")
long studentId;
@OneToMany(cascade=CascadeType.ALL,mappedBy="student")
Set<StudentClass> studentClasses
}
class Class
{
@Id
@Column(name="CLASS_ID")
long classId;
@OneToMany(cascade=CascadeType.ALL,mappedBy="class")
Set<StudentClass> studentClasses
}
class StudentClass
{
@Id
@Column(name="STUDENT_CLASS_ID")
long studentClassid;
@ManyToOne
@JoinColumn(name="STUDENT_ID")
private Student student;
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="CLASS_ID")
private Class class;
}
class persist{
public void persist(){
Student student1 = new Student();
Class class1 = new Class();
session.save(class1);
StudentClass studentClass = new StudentClass();
studentClass.setClass(class1);
studentClass.setStudent(student1);
student1.getStudentClasses().add(studentClass);
session.save(student1);
session.getTransaction().commit();
}
}
以上持久性邏輯正常工作,因爲我救單獨的Class1,最後學生課。但是如果我試圖單獨保存student1,那麼class1並沒有得到保存?如果答案是課堂,學生不直接相關,那麼當我嘗試獲取學生時,如何獲取所有課程