Chinaunix首页 | 论坛 | 博客
  • 博客访问: 47424
  • 博文数量: 11
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-29 10:18
文章分类

全部博文(11)

文章存档

2008年(11)

我的朋友

分类: 数据库开发技术

2008-10-08 17:55:37

 
一:一对一主键关联映射(单向Person-->IdCard)

  先建IdCard, 再建Person。再把映射关系建立起来,在person中要持有身份证的引用。

  一对一是从Person这个角度看的,看到这个人知道它的身份证号。主键关联Person中的主键是个外键,参照IdCard的主键生成,怎样让生成的主键一样。

  一对一主键关联映射:让两个实体对象的id保持相同,这样可以避免多余的字段被创建。

主键生成策略foregin使用另外一个相关联的对象的标识符。通常和联合起来使用 ,这个生成策略要加参数,在其中需要指定关联对象  //Person的相关联对象是IdCard,它会把IdCard的标识拿过来给他用。 

Person我要把这个人加载上来,把这个人加载上来的同时我要把IdCard加载上来。

 

具体映射

 
  

  
   idCard
  

 

  
 

 

  在往数据库中存对象时直接Save(person)不写Save(idCard)不会出现

TransientObjectException

从数据库中取数据时

Person person=(Person)session.load(Person.class,1);能够加载关键是one-to-one标签

  注意一对一主键关联映射中,默认了Cascade属性。只有在<one-to-one>标签中才会默认。

 

二:hibernate一对一主键关联映射(双向关联Person<---->IdCard)
   需要在idcard映射文件中加入标签指向person,指示hibernate如何加载person默认根据主键加载
 

默认就是根据主键加载,我的理解一对一主键关联双向,是两个单向。

不同于它不会改表。

 
阅读(3833) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-10-20 21:35:29

北京尚学堂的弟子嘛,课堂笔记做的不错。