Hibernate_映射_关联关系_多对多映射1
来源:互联网 发布:java开发平台结构图 编辑:程序博客网 时间:2024/05/22 00:12
多对多多对多Student.hbm.xml Teacher.hbm.xml要说明的信息有:要说明的信息有:1,集合表(中间表)1,集合表(中间表)2,集合外键2,集合外键引用自已主键的那个引用自已主键的那个3,引用关联对象的那个外键 3,引用关联对象的那个外键 4,关联的实体类型4,关联的实体类型
学生映射文件
<?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="cn.itcast.g_hbm_manyToMany"><!-- 类名 --><class name="Student" table="t_student"><id name="id" type="integer" column="id"><generator class="native" /></id><property name="name" type="string" column="name" /><!-- teachers属性,Set集合。表达的是本类与Teacher的多对多的关联关系 table属性:中间表(集合表)key子元素:集合外键 (引用当前表主键的那个外键)--><set name="teachers" table="t_teacher_student"><key column="studentId"></key><many-to-many class="Teacher" column="teacherId"></many-to-many></set></class></hibernate-mapping>
老师映射文件
<?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="cn.itcast.g_hbm_manyToMany"><!-- 类名 --><class name="Teacher" table="t_teacher"><id name="id" type="integer" column="id"><generator class="native" /></id><property name="name" type="string" column="name" /><!-- students属性,Set集合。表达的是本类与Student的多对多的关联关系 table属性:中间表(集合表)key子元素:集合外键 (引用当前表主键的那个外键)--><set name="students" table="t_teacher_student"><key column="teacherId"></key><many-to-many class="Student" column="studentId"></many-to-many></set></class></hibernate-mapping>学生实体类
package cn.itcast.g_hbm_manyToMany;import java.util.HashSet;import java.util.Set;/** * 学生 * * @author 风清杨 * @version V1.0 */public class Student {private Long id;private String name;private Set<Teacher> teachers = new HashSet<Teacher>();// 关联得老师位public Long getId() {return id;}public void setId(Long 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;}@Overridepublic String toString() {return "Student [id=" + id + ", name=" + name + "]";}}
老师实体类
package cn.itcast.g_hbm_manyToMany;import java.util.HashSet;import java.util.Set;/** * 老师 * * @author 风清杨 * @version V1.0 */public class Teacher {private Long id;private String name;private Set<Student> students = new HashSet<Student>();// 关联的学生们public Long getId() {return id;}public void setId(Long 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;}@Overridepublic String toString() {return "Teacher [id=" + id + ", name=" + name + "]";}}组合映射文件
private static SessionFactory sessionFactory = new Configuration()//.configure()//.addClass(Student.class)// 添加Hibernate实体类(加载对应的映射文件).addClass(Teacher.class)// 添加Hibernate实体类(加载对应的映射文件).buildSessionFactory();
0 0
- Hibernate_映射_关联关系_多对多映射1
- Hibernate_映射_关联关系_多对多映射2
- Hibernate_映射_关联关系_一对多多对一映射1
- Hibernate_映射_关联关系_一对一映射1__映射基础
- Hibernate_映射_关联关系_一对多多对一映射2、inverse属性
- Hibernate_映射_关联关系_cascade属性、单向关联
- 16. Hibernate_映射多对多关联关系
- Hibernate_映射_关联关系_一对一映射2_基于外键的方式
- Hibernate_映射_关联关系_一对一映射3_基于主键的方式
- Hibernate关系映射(10)_多对多单向关联
- Hibernate关系映射(11)_多对多双向关联
- Hibernate关系映射(7)_多对一单向关联
- Hibernate关系映射(9)_多对一双向关联
- Hibernate关联关系映射_单边多对一
- Hibernate关联关系映射_多对一双边
- Hibernate_多对多_单向关联
- Hibernate_一对多_多对一_双向关联
- Hibernate关系映射(8)_一对多单向关联
- 如何打jar包和运行jar包
- 【BZOJ4876】 [Zjoi2017]线段树
- Boost.Aiso教程 2
- 最简单的 UBO(Uniform Buffer Object) 【OpenGL】【GLSL】
- Mybatis 关联映射
- Hibernate_映射_关联关系_多对多映射1
- SpringMVC个人零碎总结
- Android Framework: Binder(1)-Android IPC
- bzoj 1692 [Usaco2007 Dec]队列变换
- springfox整合SpringMVC
- strcpy,strcat,strstr,strcmp,memmove的实现
- windows XP,2003,7,2008有效,无需更改他人administrator密码进入方法:
- Http 中Get与POST的区别分析
- 0002、node 之用express创建一个简单的服务器以及响应