Hibernate—— 一对多映射

MyEclipse——环境下


映射的类型

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

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

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

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


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

                   一个班级 有 多名学生

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

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

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

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

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属性——级联的操作

查询操作



课程总结

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 再开始本次知识点之前,我们先来思考下get与load的区别。 对于Hibernate get方法,Hibernat...
    FTOLsXD阅读 361评论 0 1
  • 其实和多对一本质上是一样的,也是在many的一方加一个字段作为外键,指向one的一方的主键,只是加载的时候不一样。...
    yjaal阅读 313评论 0 1
  • 作为一种轻量级的关系映射工具,Hibernate支持各种关系映射,例如:多对一、一对多和一对一的数据库表关系,通过...
    Ystrator阅读 538评论 0 1
  • 一.单向一对多的关联 通过在 一 方使用 元素标识 多的对象;班级对象代表一, 学生对象代表多数据结构中班级表学生...
    liangxifeng833阅读 458评论 0 0
  • 秋来春去,谁怜曲院风荷,韶华白首,不过浮生一阙。
    南桑s阅读 242评论 0 0