什么是单表继承?
概念
每棵类继承树使用一个表:将类的继承层次表示为一个单表,表中的各列代表不同类中的所有域。
简单来说,就是把父类和子类的每一个属性都映射成表中的字段。
辨别记录:
因为继承树肯定是对应多个类,要把多个类的信息存放在一张表中,必须有某种机制来区分哪些记录是属于哪个类的。
这种机制就是,添加鉴别器字段,用这个字段的值来进行区分。
建立模型
单表继承的优缺点:*
优点:
简洁,效率高(没有使用外键)。
缺点:
会产生冗余的数据。
上图所示的通过单表继承建立的表中,对pig对应的记录来说,height字段其实是多余的,在bird记录中的weight也是多余的,这意味着我们在数据库生成了不必要的数据。
配置
定义实体类
父类Animal:
子类Pig:
子类Bird: