hibernate3.3.2学习笔记---多对多双向

来源:互联网 发布:嘉兴微知电子有限公司 编辑:程序博客网 时间:2024/06/15 08:57

例如:一个学生被多个老师教,一个老师教多个学生。

然后,你想从老师获取学生信息,又想从学生获取老师信息。


Teacher.java

@Entitypublic class Teacher {private Set<Student>students=new HashSet<Student>();private String name;private int id;        @ManyToManypublic Set<Student> getStudents() {return students;}public void setStudents(Set<Student> students) {this.students = students;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Id@GeneratedValuepublic int getId() {return id;}public void setId(int id) {this.id = id;}}
Student.java

@Entitypublic class Student {private String name;    private int id;    private Set<Teacher>teachers=new HashSet<Teacher>();           @ManyToMany(mappedBy="students")public Set<Teacher> getTeachers() {return teachers;}public void setTeachers(Set<Teacher> teachers) {this.teachers = teachers;}@Id@GeneratedValuepublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
需要注意的地方:

两次  @ManyToMany  时机;

只能有一个写mappedBy,表示另一个中的属性关联是主导,被对方映射,不必再考虑本类关联的情况。

另一个不用写mappedBy,却必须写@ManyToMany表示多对多关系。





0 0
原创粉丝点击