hibernate关联关系的理解

Hibernate关联关系是学习的难点,理清思路在看相应的书籍,也就不难了。
1)Hibernate是ORM规范的一种实现。
2)ORM规范三个环节,O:对象,R:Relation,指关系数据库,M:Mapping,在Hibernate中用配置文件实现。
3)关联关系是在O对象的概念范畴说的,也就是要在面向对象思想来理解。如果认为是Relation数据库的联系,则在学习关联关系时就容易迷糊。二者有一定联系,因为都是对现实世界的一种表述方式。
4)对象之间有依赖,聚集,继承,关联四种关系。关联是其中一种,是对象之间的相互引用关系。而引用是有方向性的,于是有单向和双向之分。对象之间有1-1,1-N,N-1,N-N关联关系之分,取决于对象本身的特征和特定的需求约定。
5)在R数据库端,只能通过PK和FK,建立一对一和一对多的联系,所谓主从表。对应多对多的联系需要引入中间表来分解为两个一对多的联系来设计。而要达到多对多查询的结果就要通过join连接表的形式。因此在O对象领域如果是多对多的关联,映射的时候就必须利用连接表来映射。
6)因此,对象的4种关联关系,加上单向和双向之分,以及连接表,可以分为:单向一对一,单向1对多,单向多对一,单向连接表的多对多;双向一对一,双向一对多,双向连接表的多对多。除了多对多的关联外,利用连接表没有实际意义,属于多此一举,可以不用考虑。
7)在实际中还要考虑通过主键关联还是外键关联,主键关联考虑由哪方来生成id,另外一方引用其id以达到id一致。但与关联关系种类划分无关,而是具体映射的字段定义略有不同。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值