13.Hibernate一对一外键&一对一主键双向关联

一对一外键双向关联
      注:一对一外键双向关联是一对多外键关联的特例,只是在多的一方加了一个唯一性约束。
USERS1表->用户表
 USERID number(6) <pk>
 USERNAME nvarchar2(20)
 USERPASS nvarchar2(20)
RESUME1表->档案表
 RESID number(6)    <pk>
 RESUSERID number(6) <fk>
 RESNAME nvarcahr2(20)
 RESCARDNO nvarcahr2(20)

以上RESUME1表的RESUSERID外键设为了unique约束,确保每条RESUME1记录具有唯一的RESUSERID。

因为在从表(档案表)添加了唯一约束,所以我们可以看出一个用户对应一个档案,一个档案对应一个用户。

对应持久化类
 Users1
  userid : Integer
  username : String
  userpwass : String
  resume1 : Resume1

 Resume1
  resid : Integer
  users1 : Users1
  resname : String
  rescardno : String

映射配置文件
 Users1.hbm.xml配置
  <one-to-one name="resume1" class="包.Resume1"/>
 Resume1.hbm.xml配置
  <many-to-one name="users1" class="包.Users1" column="RESUSERID"unique="true"/>
  这句代码的意思是用column属性的值,到class类中去找,找到后保存到name值的属性中。Unique属性一般设置在从表。
注:配置好了这两个文件之后,Hibernate会根据这两个文件来找到相对应的数据。

 

 

 

一对一主键双向关联

USERS1表->用户表
 USERID number(6) <pk,fk>
 USERNAME nvarchar2(20)
 USERPASS nvarchar2(20)
RESUME1表->档案表
 RESID number(6)    <pk>
 RESNAME nvarcahr2(20)
 RESCARDNO nvarcahr2(20)

对应持久化类
 Users1
  userid : Integer
  username : String
  userpwass : String
  resume1 : Resume1

 Resume1
  resid : Integer
  users1 : Users1
  resname : String
  rescardno : String

映射配置文件

   Users1.hbm.xml配置

<one-to-one name=”Resume1” class=”包.Resume1”constrained=”true”/>
    constrained属性表明,将Users1类的主键看成外键,本属性一般设置在从表。

Resume1.hbm.xml配置

    <one-to-one name=” users1” class=”包.Users1”/>

注:配置好了这两个文件之后,Hibernate会根据这两个文件来找到相对应的数据。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值