Gestion de la persistance des types de données complexes

Dans l'exemple suivant, les deux classes sont définies comme persistantes.

La classe Client contient un attribut Adresse doté du type de données complexe ADRESSE. Ce type de données est basé sur le code de la classe Adresse.



Pour plus d'informations sur l'utilisation d'une classe comme type de données, voir Affectation d'un classificateur à un type de données ou à un type de résultat.

Lorsque vous appliquez des types de données complexes persistants à un attribut de classe ou à un domaine, vous pouvez définir les options de génération suivantes :

Génération sous forme de classe persistante

Dans la page Détails de la feuille de propriétés d'un attribut utilisant un type de données complexe, vous devez :

  • Cocher la case Persistant

  • Sélectionner Persistante dans la liste Génération de classe

A l'issue de la génération d'un MOO dans un MCD, les deux classes deviennent des entités et une relation est créée entre elles. La classe utilisée comme type de données contient un attribut identifiant primaire.

Exemple

Si vous définissez les options de génération de types de données standard suivantes pour l'exemple Adresse/Client, le MCD généré se présente comme suit :



La nouvelle colonne Adresse_ID est l'identificateur primaire de l'entité Adresse.

Génération sous forme de classe incorporée

Dans la page Détails de la feuille de propriétés d'un attribut utilisant un type de données complexe, vous devez :

  • Cocher la case Persistant

  • Sélectionner Incorporée dans la liste Génération de classe

A l'issue de la génération d'un MOO dans un MCD, tous les attributs de la classe utilisée comme type de données sont incorporés dans l'entité contenant le type de données complexe.

Exemple

Si vous définissez les options de génération de type de données incorporé dans le cas de l'exemple Adresse/Client, le MCD généré se présente comme suit :



Tous les attributs de la classe Adresse sont incorporés dans l'entité Client et préfixés par "adresse" qui est le nom de l'attribut utilisant Adresse comme type de données complexe.