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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate 表关系映射详解之一对一相关的知识,希望对你有一定的参考价值。

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

       关系图:

          技术分享

 

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

        配置文件:

             结构图:

                 技术分享

 

              实体类:

                  技术分享

                    技术分享

 

 

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

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

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

            技术分享

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

                       技术分享

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

          方法二(双向连接):

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

                 技术分享

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

                  技术分享

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

 

                    

 

 

              

以上是关于hibernate 表关系映射详解之一对一的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate入门之one to one关系映射详解

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

hibernate 表关系映射详解之继承关系

hibernate hibernate一对一关系映射详解

hibernate的映射关系之一对多

Hibernate关系映射之many-to-many(多对多)