Définition de la persistance des objets dans le MOO

Les codes persistants sont des codes définis pour les classes et les attributs de MOO qui sont utilisés lors de la génération d'un MOO dans un MPD. L'utilisation de tels codes facilite également l'ingénierie par va-et-vient en permettant de récupérer des codes d'objet depuis la base de données.

Vous pouvez définir le type de persistance que vous souhaitez mettre en oeuvre dans la zone de groupe Persistant, située sur l'onglet Détails de la feuille de propriétés de classe :

Les attributs et associations des classes persistantes dont le mode de génération de persistant est défini à "Migrer les colonnes" sont migrés vers les tables parent ou enfant.

Vous pouvez également définir des types de données persistants pour les attributs de classe et les domaines. La gestion de la persistance des types de données impose de prendre en compte les paramètres suivants :

Migration des attributs

Si vous générez le MOO suivant dans un MPD :



La migration des attributs du MPD généré dépend des options de persistance des classes dans le MOO source :

Persistance

Résultat

Parent et enfant / Générer une table

Deux tables sont créées pour chaque classe

Parent / Migrer les colonnes Enfant / Générer une table

La table enfant est générée avec les attributs parent

Parent / Générer une table Enfant / Migrer les colonnes

La table parent est générée avec les attributs enfant

Parent et enfant / Migrer les colonnes

Rien n'est généré

Attributs hérités

Dans le MOO suivant, la classe Client hérite de Personne via un lien de généralisation. Personne n'est pas persistante, mais Client persistante.



Client hérite des attributs de la classe parent dans le MPD généré :



Classe dérivée

Une classe dérivée est créée pour des motifs d'ordre conceptuel afin d'améliorer la lisibilité d'un modèle, sans pour autant ajouter d'information sémantique. Il n'est pas nécessaire de générer une classe dérivée dans un MPD, et les attributs de cette classe doivent être migrés vers le parent.

Dans l'exemple suivant, la classe Femme est créée pour permettre une analyse plus complète de la classe Employé et mettre en exergue l'attribut spécifique "Congé maternité". Cette classe est dérivée, et donc pas générée mais elle est persistante :



Dans le MPD généré, Employé hérite de la classe parent ainsi que de la classe dérivée :