第07章 ORM映射:基于主键的一对一

07ORM映射:基于主键的一对一

  

1 映射关系总览

①单类→单表

②单向n对1

③双向1对n

④1对1基于外键

11基于主键

⑥单向多对多

⑦双向多对多

 

1 实现方式

Department表的主键作为外键关联到Manager,让两个表中对应记录的主键一致

 

 

2 持久化类不变

3 创建映射文件

Department

    <class name ="Department" table="DEPARTMENTS">

        <id name ="deptId" type="java.lang.Integer">

            <column name ="DEPT_ID" />

            <!-- 设置当前表的主键列依赖另外一张表的主键实现 -->

            <generator class ="foreign">

                 <param name ="property">manager</ param>

            </generator >

        </id >

        <property name ="deptName" type="java.lang.String">

            <column name ="DEPT_NAME" />

        </property >

        <!-- 使用constrained属性给生成的主键列加上外键约束 -->

        <one-to-one name ="manager" class="Manager" constrained= "true" />

    </class >

 

Manager

    <class name ="Manager" table="MANAGERS">

        <id name ="mngId" type="java.lang.Integer">

            <column name ="MNG_ID" />

            <generator class ="native" />

        </id >

        <property name ="mngName" type="java.lang.String">

            <column name ="MNG_NAME" />

        </property >

        <one-to-one name ="department" class="Department" />

    </class >

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值