跳至内容

WebObjects/EOF/建模/继承

来自 Wikibooks,开放的书籍,开放的世界

实体继承是一种利用 EOEntity 对象和数据库中的表结构之间的对象关系映射层来提供灵活性的方法。 这种灵活性也可能成为问题的根源,因此在使用此功能时必须小心。 此功能提供的灵活性有很多技巧。

有三种类型的实体继承,它们代表将表或表映射到实体或实体的不同方式。

单表继承

[编辑 | 编辑源代码]

在单表继承中,单个表可以用于多个实体。 最确定的方法是使用一列或一组列,这些列具有序数值。

一个例子是

表:Sellables
pk名称成本objType
1克尔维特500001
2大众100001
3派珀幼犬500002
4里尔喷气机1000002

可以创建两个实体。 在一个名为“Cars”的实体中,外部名称将为“Sellables”,并且将有一个限制性限定词说明“objType = 1”。 对于另一个名为“Planes”的实体,外部名称也将为“Sellables”,并且将有一个限制性限定词说明“objType = 2”。

当创建 Cars 或 Planes 实体的实例时,必须确保设置 objType 属性。 通常,为实体创建自定义 EO 类是最简单的,这些类可以可靠地处理初始化。

水平继承

[编辑 | 编辑源代码]

垂直继承

[编辑 | 编辑源代码]
华夏公益教科书