Java中的Parent和Child类应该有2个数据表吗?

Yat*_*oel 1 java mysql database sql-server inheritance

我有两个类ParentChild.

class Child extends Parent {
    private String extraField1;
    private String extraField2;
    ...
}
Run Code Online (Sandbox Code Playgroud)

Childclass有2个额外的字段extraField1extraField2.

Q1.我应该做两个差异.数据库中的表:一个用于Child和另一个用于Parent

要么

Q1.我应该在Parent表中添加两列(每列一个额外的字段)并将其存储ChildParent表中.

=============================== EDITED ================== =====================

是的,Child并且Parent是同一层次结构中的类.

Pas*_*ent 10

Java中的Parent和Child类应该有2个数据表吗?

这个问题没有普遍的答案.实际上有几种技术可以将继承层次结构映射到关系数据库中,它们都有优点和缺点.选择其中一个取决于您的背景.

Scott Ambler详细介绍了第2节中的各种方法.映射继承结构的着名论文将对象映射到关系数据库:O/R Mapping详细说明我在下面引用:

(...)在本节中,您将看到将继承映射到关系数据库有三种主要解决方案,第四种补充技术超越了继承映射.这些技术是:

有关完整比较(有优点,缺点和何时使用的建议),请查看2.6比较策略部分.

我不能比他做得更好,所以没有必要解释他,只需参考原始论文.