Yat*_*oel 1 java mysql database sql-server inheritance
我有两个类Parent和Child.
class Child extends Parent {
private String extraField1;
private String extraField2;
...
}
Run Code Online (Sandbox Code Playgroud)
Childclass有2个额外的字段extraField1和extraField2.
Q1.我应该做两个差异.数据库中的表:一个用于Child和另一个用于Parent?
要么
Q1.我应该在Parent表中添加两列(每列一个额外的字段)并将其存储Child在Parent表中.
=============================== EDITED ================== =====================
是的,Child并且Parent是同一层次结构中的类.
Pas*_*ent 10
Java中的Parent和Child类应该有2个数据表吗?
这个问题没有普遍的答案.实际上有几种技术可以将继承层次结构映射到关系数据库中,它们都有优点和缺点.选择其中一个取决于您的背景.
Scott Ambler详细介绍了第2节中的各种方法.映射继承结构的着名论文将对象映射到关系数据库:O/R Mapping详细说明我在下面引用:
(...)在本节中,您将看到将继承映射到关系数据库有三种主要解决方案,第四种补充技术超越了继承映射.这些技术是:
有关完整比较(有优点,缺点和何时使用的建议),请查看2.6比较策略部分.
我不能比他做得更好,所以没有必要解释他,只需参考原始论文.