分享

Hibernate映射 --- 一对一 ---- 共享主键的方式

 I_T_馆 2014-06-11
在users表中,用户经常使用的字段只有登录信息username和password,而其他用户信息如email,address,phone,mobile,postcode等信息使用率都不是很频繁,如果将这些记录放到一个表中,那么每次查询常用字段的时候,不常用的也都被查询出来了,降低了效率。从效率的角度考虑,我们想办法将常用的字段和不常用的字段分开在两个表中保存,他们之间使用一定的关联关系。其实这写内容是完全可以在一个表里的,但就是为了效率考虑,我们将他们分开了。那么如何在Hibernate中体现这两张表的关联关系呢?使用一对一映射。

这两张表的关系体现有两种方式:
第一种:共享主键的方式
第二种:唯一外键的方式


下面讲解共享主键的方式

第一步:创建数据库
 
 第二步:生成映射文件和类,并修改映射文件和类

表users和profile其实表示的就是同一张表,为了性能考虑, 将其分开为两张表。而这两张表是有关联关系的,就是id。那么如何在Users.java类中体现Profile表呢,在其中添加一个Profile属性,那如何在Profile表中体现Users表呢,在其中添加一个Users属性。这样二者就相互关联上了

具体类设计如下:
 
 
 
映射文件设计如下:
 
 这里的主键方式是共享主键:所以,profile.hbm.xml主键的增长方式和users.hbm.xml一样,如何实现呢?修改主键生成策略为外键foreign,同时定义根谁,也就是那个属性一样---users
 
第三步:编写测试类
 
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多