The whole class hierarchy should be mapped to one table. There should be one discriminator column defined to distinguish instances of difference classes in the hierarchy. The column can have character based type or integer type.
For each class hierarchy, a discriminator is needed to distinguish between different class instances. You have to select one of the attributes in the root class, in the Specifying Attribute list of the property sheet of one of the children inheritance links of the root class. The attribute will be transformed into a discriminator column. In the following example, we define one extra attribute shapeType in Shape and select it as discriminator attribute: