hibernate关联映射(1) 2016-07-11

本文详细介绍了hibernate的关联映射,包括一对一、一对多和多对多的各种单向和双向关联配置,强调了如何根据需求选择合适的关联方式,并通过例子解释了配置中的各种属性和标签的作用,帮助读者理解hibernate关联映射的逻辑。
摘要由CSDN通过智能技术生成

今天看资料,看到了用户角色和权限的关系分析,一个角色可以有多个权限,一个权限可以对应多个用户。因此总体上是多对多的关系。但资料中在hibernate中配置时使用的是联合主键配置,当时看不太懂,网上查了hibernate关联映射学了半天还算有收获,但回头一看,还是没能解决资料上看不懂的这个问题,这才又把资料上的一个关键字composite加入关键字进行搜索,这才知道这是联合主键配置映射关系。在搜索是也找到了有人说不提倡使用联合主键:http://zhidao.baidu.com/link?url=b592rkm5zNtWeq64ccfhP5KmQ2wYhsTF0TCFZWC-FQMS5FQMgvO3uKDdMtZ0cfpoqWawVrfBbjbfcBFuPE6ycK

原来看了半天的hibernate实体关联关系映射,本以为掌握所有情况了(确实解决了所有情况,但没有用联合主键的方式),结果联合主键楞是看不懂了,可能看的太多迷糊了,这半天看的其实很够了,能应付任何情况了。

首先特别推荐这片博文:http://lavasoft.blog.51cto.com/62575/39398/  罗列了所有的情况,给出每种情况的配置方案,看懂这些就足够了。

下面是自己总结:

按自己的习惯来对hibernate关联关系映射进行分类:

--> 一对一

--> 一对一单向关联

--> 一对一外键单向关联

--> 一对一主键单向关联

--> 一对一 连接表 单向关联

--> 一对一双向关联

--> 一对一外键单向关联

--> 一对一主键双向关联

--> 一对一 连接表 双向关联

--> 一对多与多对一

--> 一对多单向关联

--> 一对多外键单向关联

--> 一对多 连接表 单向关联

--> 多对一单向关联

--> 多对一外键单向关联

-->多对一 连接表 单向关联

--> 一对多(多对一)双向关联 (因为是双向关联,一对多也就是多对一)

--> 一对多(多对一)外键双向关联

-->一对多(多对一) 连接表 双向关联

--> 多对多

--> 多对多单向关联

--> 多对多双向关联

下面按照自己的理解,尽量将自己带入hibernate的角色(尽管有点可笑,hibernate只是机械的程序而已-_-||)。看看如果自己编程一行行的代码,怎么处理这么容易绕晕人的关联配置。

说明:以下例子都是以person类和address类为例,person中有id,name,age三个基本属性,address中有id,addressdetail两个基本属性。当关联查询时,会在类中写上另外一个类的成员属性。如在一对一单向关联时,person中有address的属性。(建议先看上文中特别推荐的博文,再顺着这篇文章理下思路)。

--> 一对一࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值