Hibernate详解(2)——一对多映射分析

在学习Hibernate的时候,很大一部分任务量是配置实体映射关系,Hibernate的映射关系的关键就是掌握面向对象的思想,搞清楚实体之间的关系。每一个实体关系都对应这UML中的对象关系。我们配置这些对象的关系模型。下面分节讲述Hibernate的关系映射。

 

本节主要讲述Hibernate的一和多的关系。之所以称之为一和多的关系,是因为他包括三种关系:单向一对多,单向多对一,双向一对多。我这里统称为它一对多。一对多关系是非常重要的关系,也是现实世界中最多的关系。这三个关系对应的是UML中的关联关系,也可以分成聚合和组合。

 

之所以把一对多分成三种类型,是因为它们站的角度不同。这里就拿学生和班级的关系举例,站在学生的角度看这个关系是多对一,站在班级的角度看是一对多。但是为了更好的使用这个关系,也考虑到实际操作的原因。一般把它们设置成双向一对多。

 

单向多对一


单向多对一是站在多的角度去看关系的,在本例中就是站在学生的角度去看。首先看这个关系的UML图。


多个学生对应一个班级。这里的关系就是多对一的关系,站在学生的角度看。如果我们只是需要知道学生位于那个班级。这样就只是单向的关系,也就是拿到Studenthibernate会自动的给你抓取到对应的Classes。单向的多对一是由需求产生的。是人为的设定的。这样的关系中,Studnet一端负责维护关系。它的映射原理是在Studnet表的一段加入外键,指向一的一端。


  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值