PowerAMC prend en charge 3 stratégies de mise en correspondance pour la persistance d'héritage :
Une table par hiérarchie de classes. Dans cette stratégie, la totalité de la hiérarchie de classes est mise en correspondance avec une table. La table a une colonne qui sert de "colonne discriminante". La valeur de cette colonne identifie la sous-classe spécifique à laquelle l'instance qui est représentée par la ligne appartient.
Stratégie de sous-classe jointe. La classe racine de la hiérarchie de classes est représentée par une table unique. Chaque sous-classe est représentée par une table distincte. Cette table contient les champs qui sont spécifiques à la sous-classe (non hérités de sa classe parent), ainsi que les colonnes qui représentent cette clé primaire. La ou les colonnes de clé primaire de la table de la sous-classe servent de clé étrangère à la clé primaire de la table de la classe parent.
Une table par classe. Chaque classe est mise en correspondance avec une table distincte. Toutes les propriétés de la classe, y compris les propriétés héritées, sont mises en correspondance avec les colonnes de la table pour la classe.
Chaque stratégie a ses avantages et inconvénients. Vous pouvez en choisir une et l'appliquer en fonction de vos besoins. Vous pouvez également utiliser des stratégies mixtes, mais celles-ci ne sont pas très bien prises en charge par les environnements de persistance.
En partant de la hiérarchie suivante :
Nous allons décrire dans les prochaines sections comment appliquer ces stratégies de correspondance dans les transformations.