hibernate一对一映射

hibernate一对一映射

ID:47105206

大小:62.84 KB

页数:18页

时间:2019-08-04

hibernate一对一映射_第1页
hibernate一对一映射_第2页
hibernate一对一映射_第3页
hibernate一对一映射_第4页
hibernate一对一映射_第5页
资源描述:

《hibernate一对一映射》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、hibernate一对一映射一、建立两个对象:一个Person,一个身份证这两个类是一对一的映射二、建立实体之间的关系:1、首先从Person的角度,先看看这个人,要知道他的身分证号是什么,所以要持有一个身分证的引用。反过来,拿到身分证的时候,要知道这个人。所以在IdCard中要持有Person的引用。所谓的单双向,是指从一个对象可以访问到另一个对象,从另一个对象访问不到它。而双向它们就可以互相访问了。从Person可以看到IdCard,从IdCard可以看到Person.这叫做双向。我们先看它的单向。如果只看单向,则Person要持有IdC

2、ard的引用。PersonIdCard这两个对象之间是有有关系的,所以有一个箭头连接两者。所以表面看它们的关系和用户和组的关系似乎是一样的。所以必须通过映射标签才能区别两者。 2、一对一关联映射有两种:一种是主键关联,一种是外键关联。主键关联就是我们的两个实体而生成的两个表的主键相同。也就是说,如果IdCard这个表里有一个主键是1,则Person这个表里也有一个主键是1.这样就不用加任何字段让主键一致。主键关联不用增加字段,还是原来的字段就可以了。因为person引用了idCard,所以idCard一定先有值。  三、如何映射实现主键一致。

3、 一、新建项目hibernate_one2one_pk_1:单向关联二、建立实体类1、IdCard类。packagecom.bjsxt.hibernate;publicclassIdCard{ privateintid; privateStringcardNo; publicintgetId(){  returnid; } publicvoidsetId(intid){  this.id=id; } publicStringgetCardNo(){  returncardNo; } publicvoidsetCardNo(Stringcard

4、No){  this.cardNo=cardNo; } }2、Person.classpackagecom.bjsxt.hibernate;publicclassPerson{ privateintid; privateStringname;  IdCardidCard;   publicIdCardgetIdCard(){  returnidCard; } publicvoidsetIdCard(IdCardidCard){  this.idCard=idCard; } publicintgetId(){  returnid; } publ

5、icvoidsetId(intid){  this.id=id; } publicStringgetName(){  returnname; } publicvoidsetName(Stringname){  this.name=name; }  }三、实体有了之后,要建立映射文件,将两者的关系建立起来1、选建立简单的。就是IdCard.hbm.xml文件

6、"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">                      2、映射Perso

7、n,建立Person.hbm.xml文件Person一端的主键来源于IdCard一端的主键。Person的主键以外键的形式参照IdCard的主键。foreign主键生成策略,使用另外一个相关联的对象的标识符,通常和联合起来用。Person会把IdCard的标识拿过来,它用。   idCard上述含义是:在ForeignGenerator.class类中,有一个configure()方法,这个方法要读取“perperty

8、"的值,然后再拿到值的id来用。所以name必须用property. 加载的含义是:将Person中的1与IdCard中的1对比,如果相同,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。