chrislin1988 发表于 2013-2-5 08:52:43

多对多关联映射

例如:学生与老师的关系
实体类:
package com.chris.entity;import java.util.Set;/** * 老师 * @author Administrator * */public class Teacher {private int id;private String name;private Set<Student> students;public 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;}public Set<Student> getStudents() {return students;}public void setStudents(Set<Student> students) {this.students = students;}} 
package com.chris.entity;import java.util.Set;/** * 学生 * @author Administrator * */public class Student {private int id;private String name;private Set<Teacher> teachers;public 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;}public Set<Teacher> getTeachers() {return teachers;}public void setTeachers(Set<Teacher> teachers) {this.teachers = teachers;}} 
映射文件:
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.chris.entity"><class name="Teacher"><id name="id"><generator class="native"/></id><property name="name"/><!-- table属性指定第三方表名称 --><set name="students" table="teacher_student"><!-- key 节点定义Teacher类在第三方表中存储的字段名 --><key column="teacher_id"/><!-- column属性指定了在第三方表中通过student_id字段查找Student --><many-to-many class="Student" column="student_id"/></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.chris.entity"><class name="Student"><id name="id"><generator class="native"/></id><property name="name"/><!-- table属性指定第三方表名称 --><set name="teachers" table="teacher_student"><key column="student_id"/><many-to-many class="Teacher" column="teacher_id"/></set></class></hibernate-mapping> 
页: [1]
查看完整版本: 多对多关联映射