频道栏目
首页 > 程序开发 > 软件开发 > 其他 > 正文
【Hibernate】--关联关系映射:一对一关联
2016-08-29 09:20:31         来源:Victor  
收藏   我要投稿

在学习Hibernate关联映射之前,首先了解一下ORM。ORM,全称是(Object Relational Mapping),即对象关系映射,ORM的实现思想是实现程序对象到关系数据库数据的映射。这样开发人员对数据库的操作,转换为对象操作。而Hibernate正是实现了这种思想,我们只需要操作对象即可完成对数据库的操作。下面我们开始对Hibernate关联映射进行细致学习。

首先介绍一下Hibernate一对一关联映射,一对一关联主要有两种策略:一对一主键关联、一对一唯一外键关联。

1、一对一主键关联:

即两对象之间一对一的关系,通过主键进行管理,不需要引入额外的键值对两者关系进行维护。实例:人(Person)--身份证(IdCard)

\

具体实现(只提供核心代码):

实体类:Person.java(类中的get和set方法省略,但这个必须有)

/**   
 *  @author  victor  
 *  @date  2016-8-27 上午9:36:56  
 * 类说明  :Person实体类
 */
public class Person {
  private int id;
  private String name;
  //引用idCard
  private IdCard idCard;
}
IdCard.java类:
/**   
 *  @author  victor  
 *  @date  2016-8-27 上午9:39:29  
 * 类说明  :IdCard实体类
 */
public class IdCard {
   private int id;
   private String cardNo;
}
映射文件:

Person.hbm.xml:




  
    
      
      
      idCard
      
    
    
   
   
   
    
  
IdCard.hbm.xml:

 

 




  
    
      
    
    
    
  
注意:核心代码基本上都在Person.hbm.xml映射文件中,其主键的生成设置、one-to-one标签的值设置以及constrained属性的作用。此处实现的是单端关联,即从Person端关联IdCard端,在IdCard端配置上Person信息即可完成双向关联。需要注意是双向关联时,最好是只用一端维护数据, 另一端只提供查询,具体设置后边会说明。

 

 

2、一对一唯一外键关联

即通过在一端加上另一端的主键作为外键进行管理。例如:在Person中加入IdCard中的idCard 作为外键进行管理。

\

具体实现:本次实例使用双向关联

实体类:Person.java ,没有变化,与一对一主键关联相同

IdCard.java:加入Person类的引用。

映射文件:

Person.hbm.xml:




	
		
                       
			
		
		
		
                
	
IdCard.hbm.xml:



	
		
			
		
		
		
                
	
注意:一对一唯一外键关联实质上是多对一的特殊情况,需要使用many-to-one标签,然后使用unique属性来设置该外键的唯一性。

通过实例操作,真正体会到使用对象来实现对数据库的操作,知道了ORM映射的基本原理。一对一主键关联映射使用的情况不多,因为它使用主键关联,扩展性差。一对一唯一外键关联是多对一的特殊情况,下篇将介绍一对多关联映射。

点击复制链接 与好友分享!回本站首页
相关TAG标签 一对一
上一篇:中介者模式
下一篇:集群资源管理与调度
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站