我只会将列保留在其中一个表中, base 如果它适用于所有对象。 您能举例说明使用具体示例复制列的必要性,例如base = car,具有VIN,derived = myCar,具有VIN。
base
此外,如果重复列是键的一部分,请使用级联更新。
我没有第二张表,而是拥有所有列 Derived 需要在里面 Base 表并将这些列设置为可为空。如果还添加了一个鉴别器列,以确定特定记录是否代表一个 Base 对象或 Derived 对象,你们都准备好了。
Derived
Base
您可以设置所需的任何约束,而不必处理重复数据不同步,这就是为什么单表每层次结构是Hibernate(和NHibernate)用于映射继承的默认方法。