先建立两个类:Teacher和Student
public class Teacher {
private int id;
private String name;
private Set<Student> students;
……//set/get方法
}
public class Student {
private int id;
private String name;
private Set<Teacher> teachers;
……//set/get方法
}
多对多关系的建立,在两个类中,首先要各自包含对方的属性,由于是多对多,所以是一个集合对象。这个是建立映射关系的基础。
然后就是对应的映射文件了:
Teacher.hbm.xml:
<hibernate-mapping package="com.it.domain">
<class name="Teacher">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<set name="students" table="teacher_student">
<key column="teacher_id"/>
<many-to-many class="Student" column="student_id"/>
</set>
</class>
</hibernate-mapping>
- Student.hbm.xml:
- <hibernate-mapping package="com.it.domain">
- <class name="Student">
- <id name="id">
- <generator class="native"/>
- </id>
- <property name="name"/>
- <set name="teachers" table="teacher_student">
- <key column="student_id"/>
- <many-to-many class="Teacher" column="teacher_id"/>
- </set>
- </class>
- </hibernate-mapping>