多对多关系,如:老师有多个学生,学生有多个老师的关系;
Teacher.hbm.xml------------->
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.xx.domain"> <class name="Teacher" table="t_teacher"> <id name="id"> <generator class="native"/> </id> <property name="name"/> <!-- 从中间表student_teacher通过外键teacherid查找sutdentid,根据studentid查找sudent --> <!-- teacher——(通过teacherid)——》student_teacher——(通过studentid)——》student --> <set name="students" table="student_teacher"> <key column="teacherid"/> <many-to-many class="Student" column="studentid"/> </set> </class> </hibernate-mapping>
Student.hbm.xml------------->
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.xx.domain"> <class name="Student" table="t_student"> <id name="id"> <generator class="native"/> </id> <property name="name"/> <set name="teachers" table="student_teacher"> <key column="studentid"/> <many-to-many class="Teacher" column="teacherid"/> </set> </class> </hibernate-mapping>

本文介绍了使用Hibernate框架实现多对多关系的数据映射方法,包括教师与学生的例子。通过定义Teacher.hbm.xml和Student.hbm.xml文件,利用set标签和many-to-many标签建立双向关联。
954

被折叠的 条评论
为什么被折叠?



