班级学生一对多表关联
-
建立关联关系的话首先至少要有两个表,那就要有两个实体类,通常是一对多的关系,比如学生和班级,可以在其中一个类加入另一个类的实例,比如在学生中包含班级这个类(如果是班级中包含学生的话那应该是一个班级包含一个学生集合)
public class Student { private long id; private String name; private Class c; //学生只有一个班级,多对一 }
-
映射文件中加入外键声明,多的这个表一定要加
<!--在学生表中插入一个外键--> <many-to-one name="c" column="classId" class="com.java1234.model.Class" cascade="save-update"></many-to-one>
-
一的这边也可以声明和多的之间的关联(不是必要)
//类 public class Class { private long id; private String name; private Set<Student> students=new HashSet<Student>(); } //映射文件 <!-- 因为是一对多,所以class表不会多出下面字段,只是建立一种关联而已,不写也可以(写了的话获取班级的同时会自动获取学生集合),但学生表那边一定要写 --> <set name=&