Chapter 6 Génération d'objet persistants pour Java et de pages JSF


Mise en correspondance de collections de types valeur

S'il y a une classe de type valeur du côté du rôle navigable d'une association ayant la multiplicité un, PowerAMC va incorporer le type valeur dans le type d'entité sous la forme d'un attribut composite.

Steps Pour mettre en correspondance les collections de type valeur :

  1. Créez une classe d'entité.
  2. Créez une autre classe pour le type valeur.
  3. Affichez la feuille de propriétés de la classe de type valeur, cliquez sur l'onglet Détails, puis sélectionnez l'option Type de valeur.
  4. Créez une association entre la classe de type valeur et une classe de type entité. Du côté du type valeur, définissez la multiplicité à un et la navigabilité à true.
  5. Générez le MPD avec la correspondance O/R.
  6. Affichez la feuille de propriétés de la classe d'entité, puis cliquez sur l'onglet Aperçu.
  7. Vérifiez le fichier de correspondance.

Une class d'entité composite peut contenir des composants, en utilisant la déclaration <nested-composite-element>.

Steps Pour définir un type de collection pour les associations un-plusieurs ou plusieurs-plusieurs :

  1. Affichez la feuille de propriétés de l'association puis cliquez sur l'onglet Détails.
  2. Spécifiez une valeur dans la zone Multiplicité pour les deux extrémités.
  3. Spécifiez une navigabilité unidirectionnelle ou bidirectionnelle.
  4. Spécifiez les noms de rôle si nécessaire.
  5. Si une association de rôle est navigable et que la multiplicité est plusieurs, vous pouvez définir le type de conteneur de collection et la taille de chargement de lot.
  6. Si vous sélectionnez java.util.List ou <none>, cela implique que vous allez utiliser un type de collection array ou list-indexed. Vous devez ensuite définir une colonne d'index pour préserver l'ordre des objets de la collection dans la base de données.

Remarque : le type de conteneur Java collection conditionne le type de collection Hibernate.

Type de conteneur de collection Type de collection Hibernate
<None> array
java.util.Collection bag ou idbag (many-to-many)
java.util.List list
java.util.Set set

 


Copyright (C) 2008. Sybase Inc. All rights reserved.