hibernate映射总结详解: 映射多对一单向关联关系

  
Hibernate解决实体类型映射和值类型映射的方法是Hibernate的精华之一。
Hibernate实体和值类型映射大致分为四种情况:
       映射实体关联关系
     一对多关联关系
        多对一单向关联 (Ⅰ)
      一对多双向关联 (Ⅱ)
       一对多双向自身关联 (Ⅲ)
     一对一关联关系
        按主键映射
        按外键映射
     多对多关联关系
       映射组成关系
       映射继承关系
       映射值类型集合
 
接下来,将一个一个的介绍每种情况的映射方式:
Ⅰ. 映射实体关联关系---  一对多关联关系 ---- 多对一单向关联映射:
其中,映射实体关系是最常用到的。其他的类型大都可以在建模阶段转化成实体间的关系。
实体关联关系中,多对一单向关联关系和关系数据库中的外键参照关系是最匹配的了。
比如:定单和客户之间就是多对一的单向关联。
Customers表有id,name字段;主键:id
Orders表有 id, customer_id, order_number字段;主键:id,外键:customer_id;
Customers类都是基本类型,映射没有问题。用property元素即可以完成。
Orders类的customer属性是customer类型,和orders表的customer_id相对应。在orders的映射文件中,可以这样映射吗? <property name=“customer” column=“customer_id”> 。
不能。因为customer属性是Customer类型的,而customer_id是整数类型的。类型不匹配。
这种情况,可以使用<many-to-one>元素:
<many-to-one name=“customer” column=“customer_id” class=“mypack.customer”>
<many-to-one>元素建立了customer属性和orders表的外键customer_id之间的映射。
总结:实体多对一单向关联,用<many-to-one>写在many方。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值