Hibernate_5_老师与学生实例_多对多关联关系
2014-08-05 22:56
417 查看
SessionFactoryTools类与上例相同。
1)学生类:
2)老师类:
3)Student.hbm.xml配置:
4)Teacher.hbm.xml的配置:
5)主文件的配置:
1)学生类:
public class Student { private Integer id; private String name; private Set<Teacher> teachers = new HashSet<Teacher>(); public Integer getId() { return id; } public void setId(Integer 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; } @Override public String toString() { return "Student [id=" + id + ", name=" + name + "]"; } }
2)老师类:
public class Teacher { private Integer id; private String name; private Set<Student> students = new HashSet<Student>(); public Integer getId() { return id; } public void setId(Integer 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; } @Override public String toString() { return "Teacher [id=" + id + ", name=" + name + "]"; } }
3)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="map_2"> <!--类名:Student 类对应的表名:students 对应的中间表名:teacher_student 维护关系为:inverse=false,本类维护 外键名称:studentId 多对多对应类:Teacher 多对多对应类在中间表中的外键:teacherId --> <class name="Student" table="students"> <id name="id" type="int" column="id"> <generator class="native" /> </id> <property name="name" type="string" column="name" length="20" /> <set name="teachers" table="teacher_student" inverse="false"> <key column="studentId"></key> <many-to-many class="Teacher" column="teacherId"/> </set> </class> </hibernate-mapping>
4)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="map_2"> <!--类名:Teacher 类对应的表名:teachers 维护关系为:inverse=true,本类不维护 对应列的名称:teacherId 中间类的表名:teacher_student 多对多对应类的表名:Student 多对多对应类在中间表中的外键:studentId --> <class name="Teacher" table="teachers"> <id name="id" type="int" column="id"> <generator class="native" /> </id> <property name="name" type="string" column="name" length="20" /> <set name="students" table="teacher_student" inverse="true"> <key column= "teacherId"></key> <many-to-many class="Student" column="studentId" /> </set> </class> </hibernate-mapping>
5)主文件的配置:
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory name="foo"> <!-- 配置数据库信息 --> <property name="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </property> <property name="connection.url"> jdbc:mysql:///hibernate0 </property> <property name="connection.driver_class"> com.mysql.jdbc.Driver </property> <property name="connection.username">root</property> <property name="connection.password">root</property> <!-- 其他配置 --> <property name="hibernate.show_sql">false</property> <property name="hibernate.format_sql">false</property> <property name="hbm2ddl.auto">update</property> <!-- 映射文件配置 --> <mapping resource="map_2/Student.hbm.xml" /> <mapping resource="map_2/Teacher.hbm.xml" /> </session-factory> </hibernate-configuration>
相关文章推荐
- Hibernate关联关系映射实例速查
- hibernate 映射实例 学生 课程 成绩
- Hibernate关联关系映射实例速查
- 15-hibernate实战 多对多对象关系模型映射(学生与老师)
- hibernate映射一对多双向关联关系实例
- 基于Struts2+Hibernate的学生信息管理系统实例
- Hibernate 关联关系映射实例
- 【学习笔记】实例解说Hibernate 一对多、多对一关联关系
- Hibernate_4_部门与员工实例_一对多、多对一关联关系
- Hibernate关联关系映射实例速查
- 06-hibernate对象关联关系多对一实例
- [Hibernate]七种关联关系配置文件和测试实例详解
- hibernate区分瞬时实例和分离实例
- 利用JSF、SpringFramework和Hibernate构建Web应用的实例讲述
- 监考老师与作弊学生(影视版)(摘自sohu)
- Eclipse快速上手Hibernate--1. 入门实例
- 速动画教程系列第八集 Hibernate的一对多关联关系
- 利用JSF、SpringFramework和Hibernate构建Web应用的实例讲述
- 史上最简单的struts+spring+hibernate配置实例
- 看看老师是怎么抓到吸烟的学生的吧^_^(另有几篇)