Hibernate 一对一、一对多、多对多的关系映射

一、一对多(1...n)

  • 在多的一方,添加一的一方的主键作为外键。

        过程:与单表操作不同的是,两个表中通过外键关联,因此在实体类的创建、配置**.hbm.xml文件都会发生变化

  • 实体类的创建,与单表操作不同的是

         一的一方(放置多的一方的集合)                                                  多的一方(放置一的一方的对象)

         Class A(){                                                                              Class B(){

                 Set bs = new HashSet() ;                                       A   a;

          }                                                                                                 }

  • **.hbm.xml文件配置     

   ①一的一方配置

        
        
        
            
            
        

   ②多的一方配置 

 
        
 
    

二、多对多

  • 产生中间表,引入两张表的主键作为外键,两个主键成为联合主键。
  • 实体类的创建,与单表操作不同的是

          一的一方(放置多的一方的集合)                                                  多的一方(放置一的一方的对象)

         Class A(){                                                                              Class B(){

                 Set bs = new HashSet() ;                                        Set as = new HashSet() ;

          }                                                                                                  }

  •  **.hbm.xml文件配置           

    ①A的一方配置   

        
        
        
        
        
        
        

   ② B的一方的配置(与A的一方的配置相反)

        
        
        
            
            
            
            
        

三、一对一

  • 在任意一张表中引入对方的主键作为外键(开发使用非常少)。

你可能感兴趣的:(Hibernate学习)