模型
学院—1——n—班级—1——n—学生
界面
学院—班级:在视图中用TreeViewer进行组织。当用户双击班级时,打开班级的Editor。CollegeClass中的Students采用延迟加载,否则会加载大量的Student对象。
班级—学生:在以FormEditor进行组织。学生列表以TableViewer显示,单击一条,在DetailView中显示学生信息。在EditorInput初始化时,从后台重新加载CollegeClass对象,并取出Student,EJBQL为
from CollegeClass o left join fetch o.students where o.id = :id
关联更新
1.班级对象级联更新学生对象
添加和删除学生对象直接对CollegeClass#List<Student> students字段直接操作。要产生级联更新(删除)的效果,需要添加Hibernate anntotation:
@OneToMany(mappedBy = "collegeClass", cascade = CascadeType.ALL) @org.hibernate.annotations.Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN) public List<S