读书人

多对多联系关系映射

发布时间: 2012-08-24 10:00:21 作者: rapoo

多对多关联映射

例如:学生与老师的关系

实体类:

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 table="teacher_student"><!-- key 节点定义Teacher类在第三方表中存储的字段名 --><key column="teacher_id"/><!-- column属性指定了在第三方表中通过student_id字段查找Student --><many-to-many 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 table="teacher_student"><key column="student_id"/><many-to-many column="teacher_id"/></set></class></hibernate-mapping>

?

读书人网 >软件架构设计

热点推荐