首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate详解(4)->>关联关系映射(二)

2012-08-27 
Hibernate详解(四)----关联关系映射(二)? ? ? ?IDCard.hbm.xml?? ?配置文件:hibernate.cfg.xml?? ?方式

Hibernate详解(四)---->>关联关系映射(二)
?Hibernate详解(4)->>关联关系映射(二)Hibernate详解(4)->>关联关系映射(二)

    ?Hibernate详解(4)->>关联关系映射(二)Hibernate详解(4)->>关联关系映射(二)
      ?Hibernate详解(4)->>关联关系映射(二)Hibernate详解(4)->>关联关系映射(二)

        ?

        IDCard.hbm.xml

        ?

        ?Hibernate详解(4)->>关联关系映射(二)Hibernate详解(4)->>关联关系映射(二)
          ?

          配置文件:hibernate.cfg.xml

          ?

          ?Hibernate详解(4)->>关联关系映射(二)Hibernate详解(4)->>关联关系映射(二)
            ?

            方式二:基于主键关联方式

            citizen表和idcard表具有相同的主键。这种实现方式的映射文件如下。

            ?

            Citizen.hbm.xml

            ?

            ?Hibernate详解(4)->>关联关系映射(二)Hibernate详解(4)->>关联关系映射(二)
              ? 备注:

              ????? 在这个映射文件中,通过指定标识符生成器为foreign来保证与property属性指定的对象共享同一个OID。使用one-to-one 元素来映射一对一关联。通过constrained=true ,添加了把citizen表的主键链接到idcard表主键的外键约束,即数据库保证citizen表的主键引用有效的idcard表的主键。

              ?

              4、双向一对一

              ?

              ???? 单向的一对一关联常用的实现方式有两种:基于唯一外键和基于主键。同样,双向的一对一关联也有这两种常用的实现方式。


              方式一:基于外键一对一关联方式

              ?

              Citizen.java

              ?

              ?Hibernate详解(4)->>关联关系映射(二)Hibernate详解(4)->>关联关系映射(二)
                ?Hibernate详解(4)->>关联关系映射(二)Hibernate详解(4)->>关联关系映射(二)
                  ?Hibernate详解(4)->>关联关系映射(二)Hibernate详解(4)->>关联关系映射(二)
                    ?

                    IDCard.hbm.xml

                    ?

                    ?Hibernate详解(4)->>关联关系映射(二)Hibernate详解(4)->>关联关系映射(二)
                      ?

                      配置文件:hibernate.cfg.xml

                      ?Hibernate详解(4)->>关联关系映射(二)Hibernate详解(4)->>关联关系映射(二)
                        >?? ??<hibernate-configuration>?? ????<session-factory>?? ???????? ??????????<!--?数据库方言设置?-->?? ????????<property?name="hibernate.dialect">?? ????????????org.hibernate.dialect.MySQLInnoDBDialect ??????????</property>?? ???????? ??????????<!--?数据库连接参数设置?-->?? ????????<property?name="hibernate.connection.driver_class">?? ????????????com.mysql.jdbc.Driver ??????????</property>?? ????????<property? ?? ??name="hibernate.connection.url">jdbc:mysql:///hibernate</property>?? ????????<property?name="hibernate.connection.username">root</property></s