一 概念分析
1.多对多的经典实例(Teacher – Student)
二 代码分析
1.Teacher类
package com.hbsi.domain;
import java.util.Set;
//单向一对多 Teacher 一 对 多 Student
public class Teacher {
private int id;
private String name;
private Set students;
public Teacher() {
super();
// TODO Auto-generated constructor stub
}
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 getStudents() {
return students;
}
public void setStudents(Set students) {
this.students = students;
}
}
2.Stduent类
package com.hbsi.domain;
import java.util.Set;
public class Student {
private int id;
private String name;
private Set teachers;
public Student() {
super();
// TODO Auto-generated constructor stub
}
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 getTeachers() {
return teachers;
}
public void setTeachers(Set teachers) {
this.teachers = teachers;
}
}
3.Teacher的映射文件 Teacher.hbm.xml
< xml version="1.0" >
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
"com.hbsi.domain">
"Teacher" table="teacher">
"id" column="id">
"native" />
"name" column="name" />
"students" table="teacher_student">
"teacher_id"/>
"Student" column="student_id">
4.Student的映射文件 Student.hbm.xml
< xml version="1.0" >
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
"com.hbsi.domain">
"Student" table="student">
"id" column="id">
"native" />
"name" column="name" />
"teachers" table="teacher_student">
"student_id">
"Teacher" column="teacher_id">