频道栏目
首页 > 资讯 > 其他综合 > 正文

SSH框架之Hibernate(1)——映射关系

14-12-19        来源:[db:作者]  
收藏   我要投稿
ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作。Hibernate正是实现了这种思想,达到了方便开发人员以面向对象的思想来实现对数据库的操作。

  Hibernate在实现ORM功能的时候主要用到的文件有:映射类(*.java)映射文件(*.hbm.xml)数据库配置文件(*.properties/*.cfg.xml),它们各自的作用如下。

  映射类(*.java):它是描述数据库表的结构,表中的字段在类中被描述成属性,将来就可以实现把表中的记录映射成为该类的对象了。

  映射文件(*.hbm.xml):它是指定数据库表和映射类之间的关系,包括映射类和数据库表的对应关系、表字段和类属性类型的对应关系以及表字段和类属性名称的对应关系等。

  数据库配置文件(*.properties/*.cfg.xml):它是指定与数据库连接时需要的连接信息,比如连接哪种数据库、登录数据库的用户名、登录密码以及连接字符串等,还有一个重要的内容就是实体映射文件。


hibernate.cfg.xml




	
		com.mysql.jdbc.Driver
		jdbc:mysql://localhost:8082/hibernate_first
		admin123
		admin123
		org.hibernate.dialect.MySQLDialect
		true

		
		
	


  由于数据库表中的关系要通过实体关系表现出来,因此,便出现了Hibernate的映射关系,通过这种映射关系,来表现对应数据库表之间的关系!

映射关系:

  一、单向映射:

   1、一对一关联:

     两个对象之间一对的关系,例如:Person(人)-IdCard(身份证),这种映射有两种策略:

     *主键关联:通过两个实体的主键进行关联。
        
      映射实现:在一端添加

	
					
						
				idCard
			
		
		
		
		
	


     *唯一外键关联:外键关联,本来是用于多对一的配置,但是加上唯一的限制之后(采用标签来映射,指定多的一端unique为true,这样就限制了多的一端的多重性为一),也可以用来表示一对一关联关系,其实它就是多对一的特殊情况。



      映射实现:在单向一端添加


	
		
			
		
		
		
	


    2、多对一关联:





     映射实现:在多的一端添加


	
		
			
		
		
		
	



    3、一对多关联:

    一对多关联映射和多对一关联映射原理是一致的,都是在多的一端加入一个外键,指向一的一端



     映射实现:在一的一端添加


	
		
			
		
		
					
			 
			
		
	





    4、多对多关联:

多对多关联映射新增加一张表才完成基本映射,如下图



      映射实现:在单向多的一端添加标签



	
		
			
		
		
		
			
				
		
	




  二、双向映射:

    1、一对一关联映射

    映射实现:在两端添加标签



	
		
			
		
		
		
	


	
		
			
				idCard
			
		
		
		
	


    2、一对多关联映射

    映射实现:多的一端添加标签,一的一端添加标签



	
		
			
		
		
					
			 
			
		
	



	
		
			
		
		
		
	


    3、多对多关联映射:

    映射实现:两端都添加标签



	
		
			
		
		
		
			
			
		
	



	
		
			
		
		
		
			
				
		
	



  二、小结:

  通过Hiberante的映射关系,从而实现了数据库表中的相对复杂的表关系。

PS:Hibernate的这几种映射关系和EJB的映射关系,大同小异。

相关TAG标签
上一篇:模板方法模式(Template Method)c#简单例子
下一篇:Poj 2182-Lost Cows(Treap||树状数组+二分答案)
相关文章
图文推荐

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

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