Hibernate—— 一对多映射

MyEclipse——环境下


映射的类型

1、一对多映射  (one-to-many) 常用

2、多对一映射 (many-to-one)  常用

3、一对一映射  (one-to-one)

4、多对多映射  (many-to-many)


单向一对多映射(班级——>学生)

                   一个班级 有 多名学生

例如:班级跟学生(一对多)

那怎么样实现这种关系呢?

1.在数据库中,可以通过添加主外键的关联,表现一对多的关系;

2.在java中,通过在一方持有多方的集合实现,即在“一”的一端中使用元素表示持有“多”的一端的对象。

MyEclipse下搭建Hibernate

还有一种:(MyEclipse自己带有的)

第一步:在数据库视图下创建数据库连接

第一步。数据库视图

第二步、创建数据库的连接

第二步。数据库的连接

第三步、为项目添加Hibernate支持

3。
3.1
3.2
3.3
3.4。生成完过后的项目结构

第四步、使用MyEclipse反向工程生成映射关系

4.1 创建一个包,用来存储持久化类和映射文件

4.2 切换到 数据库视图

4.2
4.2.1
4.2.2
4.2.3

第五步、测试

数据类型
测试类


案例讲解:(单向一对多)

项目结构
hibernate.cfg.xml 配置文件
班级类
学生类
班级实体类的 映射文件
学生实体类的 映射文件
工具类 1
工具类 2
测试类 1
测试类 2
测试类 3
测试类 4
测试类 5

实体类映射配置文件中的set元素的常用属性

(一对多)

set 元素





单向多对一简介(学生——>班级)

           多个学生对应一个班级

多对一的关系和关系数据库中的外键参照关系最匹配,即在己方的表中的一个外键参照另一个表的主键

·通过在多方持有一方的引用实现,需要在“多”端的一端使用 配置


需要两步:

            第一步:在多方持久化类中(学生类)中定义一个一方的引用(班级类)

            第二步:去对应的映射文件里面做相应的修改(学生类的)

项目结构
学生实体类(多方)
学生实体类 映射文件
班级实体类 映射文件
测试类



双向多对一(班级——>学生,学生——>班级)

                  单向的一对多           多对一

项目结构图
班级类  映射文件
学生类 映射文件
测试类

inverse属性的使用——用来指定关联关系的维护

班级类 映射 一方

cascade属性——级联的操作

查询操作



课程总结

你可能感兴趣的:(Hibernate—— 一对多映射)