3.6 映射类的继承

最简单的映射策略莫过于每个表都映射一个对应的类。这种方法看起来非常简单,而且当你遇到类的继承之前它工作的很好。

在面向对象和关系世界之间,在不匹配的特征方面最明显的就是继承。在面向对象的模型中同时存在is a和has a的关系。而SQL为基础的模型仅仅提供了has a的关系。

有三种不同的方法来表示继承的体系。这在Scott Ambler的“Mapping Objects to Relational Databases”的文章中可以查到

每一张表一个类,这种做法使的关系模型完全脱离了多态和继承关系。

每一张表一个类层次,通过对关系模型的反向解析实现继承关系,通过类型辨别其来保持类型信息。

每一张表一个子类,通过has a关系来表示is a关系(这往往通过外键来表示)。

这一部分采用了一种自上至下的方法:假定我们刚刚开始一个业务模型并且正要实现新的SQL schema。然而,映射策略却是采用自下至上的方法,从现存的数据库表开始。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值