学生 - 老师
1 package com.zhangpn.entity; 2 ?3 import java.util.HashSet; 4 import java.util.Set; 5 ?6 public class Student { 7 ????private Long id; 8 ????private String name; 9 ????private Set<Teacher> teachers = new HashSet<>();10 11 ????public Long getId() {12 ????????return id;13 ????}14 15 ????public void setId(Long id) {16 ????????this.id = id;17 ????}18 19 ????public String getName() {20 ????????return name;21 ????}22 23 ????public void setName(String name) {24 ????????this.name = name;25 ????}26 27 ????public Set<Teacher> getTeachers() {28 ????????return teachers;29 ????}30 31 ????public void setTeachers(Set<Teacher> teachers) {32 ????????this.teachers = teachers;33 ????}34 35 ????public Student() {36 ????}37 38 ????public Student(String name, Set<Teacher> teachers) {39 ????????this.name = name;40 ????????this.teachers = teachers;41 ????}42 43 } 1 package com.zhangpn.entity; 2 ?3 import java.util.HashSet; 4 import java.util.Set; 5 ?6 public class Teacher { 7 ????private Long id; 8 ????private String name; 9 ????private Set<Student> students = new HashSet<>();10 11 ????public Long getId() {12 ????????return id;13 ????}14 15 ????public void setId(Long id) {16 ????????this.id = id;17 ????}18 19 ????public String getName() {20 ????????return name;21 ????}22 23 ????public void setName(String name) {24 ????????this.name = name;25 ????}26 27 ????public Set<Student> getStudents() {28 ????????return students;29 ????}30 31 ????public void setStudents(Set<Student> students) {32 ????????this.students = students;33 ????}34 35 ????public Teacher() {36 ????}37 38 ????public Teacher(String name, Set<Student> students) {39 ????????this.name = name;40 ????????this.students = students;41 ????}42 43 }学生配置 - 老师配置
1 <?xml version="1.0"?> 2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 4 <hibernate-mapping> 5 ????<class name="com.zhangpn.entity.Student" table="STUDENT"> 6 ????????<id name="id" type="java.lang.Long"> 7 ????????????<column name="ID" /> 8 ????????????<generator class="native" /> 9 ????????</id>10 ????????<property name="name" type="java.lang.String">11 ????????????<column name="NAME" />12 ????????</property>13 ????????<set name="teachers" table="STUDENT_TEACHER" inverse="false" lazy="true">14 ????????????<key>15 ????????????????<column name="STUDENTID" />16 ????????????</key>17 ????????????<many-to-many class="com.zhangpn.entity.Teacher" column="TEACHERID"></many-to-many>18 ????????</set>19 ????</class>20 </hibernate-mapping>
1 <?xml version="1.0"?> 2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 4 <hibernate-mapping> 5 ????<class name="com.zhangpn.entity.Teacher" table="TEACHER"> 6 ????????<id name="id" type="java.lang.Long"> 7 ????????????<column name="ID" /> 8 ????????????<generator class="native" /> 9 ????????</id>10 ????????<property name="name" type="java.lang.String">11 ????????????<column name="NAME" />12 ????????</property>13 ????????<set name="students" table="STUDENT_TEACHER" inverse="false" lazy="true">14 ????????????<key>15 ????????????????<column name="TEACHERID" />16 ????????????</key>17 ????????????<many-to-many class="com.zhangpn.entity.Student" column="STUDENTID"></many-to-many>18 ????????</set>19 ????</class>20 </hibernate-mapping>
中间表
| 学生 | |
| id | name |
| 中间表 | |
| stu_id | tea_id |
| 老师 | |
| id | name |
学生表
主键:ID
教师表
主键:ID
中间表:
主键:STUDENTID、TEACHERID
外键:STUDENTID、TEACHERID
Hibernate中多对多
原文地址:https://www.cnblogs.com/batj/p/9172503.html