Generalizations and associations

 

Generalization and associations

From the UML profile of a table, associations are not specialized as such. The associated table contains all the references, including the child class instances.

 

Example:


Figure 48. Example 3: Generalization and associations


Let us take the example of primary keys, respectively b1 for the B class, c1 for C, a1 for A and D, where the generalization is implemented by one table per concrete class, we will obtain the following associations (Figure 49).



Figure 49. Generalization of associations with "One table per concrete class" pattern


 

If the generalization had been mapped one table per class, the following would have been obtained (Figure 50).

 

Figure 50. Generalization of associations with "One table per class" pattern



If the generalization is mapped with "One table per generalization tree", the following would have been obtained (Figure 51).


Figure 51. Generalization of associations with "One table per generalization tree" pattern



If the "Generates filter columns on tables generated with 'one table pattern' " parameter has been defined, a String-type column entitled "Type" is created in the tables generated with the "One table" pattern. This column represents the class of the object stored in the table.

 

When an abstract class is the root of the hierarchical structure, a ConcreteType_<roleName> column is generated in the tables generated from the origin of an association to this hierarchical structure.