hibernate 表关系映射详解之一对一

      举例:用户和邮箱的关系,一个用户拥有一个邮箱,一个邮箱属于一个用户

       关系图:

          

 

        实现原理:因为两者皆是一方,无论在那一方加入,都可实现单项映射。

        配置文件:

             结构图:

                 

 

              实体类:

                  

                    

 

 

         hibernate实现映射一对一中有两种方法。

         方法一(通过多对一映射):

              步骤一: 在Customer类中加入Email类

            

            步骤二:配置customer类的映射文件  -- > Customer.hbm.xml

                       

                            本来多对一的映射,加入unique(唯一)之后,就很巧妙的变成一对一的映射,网上说这样的拓展性很好,没试过,这里不便多说。

          方法二(双向连接):

                  步骤一: 在email类中加入Customerl类

                 

                  就是很标准的<one-to-one> 标签了

                  

                  property-ref:引用属性,引用customer中的email属性,建立连接,本身customer已经通过email属性建立了连接,然后引用到customer的email就                                      是建立了连接通道 

 

                    

 

 

              

posted @ 2017-05-23 10:17  王高啊  阅读(212)  评论(0编辑  收藏  举报