Commande wsreversemapping

L'outil wsreversemapping génère les métadonnées et les définitions de classe persistante à partir d'un schéma de base de données.

Syntaxe

Avant d'exécuter la commande, vous devez disposer d'une copie du fichier persistence.xml dans le chemin d'accès aux classes ou l'indiquer en tant que fichier de propriétés via l'argument -p [chemin_vers_persistence.xml]. Lancez la commande à partir du sous-répertoire bin du répertoire racine_profil.

La syntaxe de la commande est la suivante :

[AIX][HP-UX][Linux][Solaris][z/OS]
wsreversemapping.sh [parameters][arguments]
[IBM i]
wsreversemapping [parameters][arguments]
[Windows]
wsreversemapping.bat [parameters][arguments]

Paramètres

L'outil wsreversemapping accepte le jeu standard des arguments de ligne de commande définis par la structure de configuration, ainsi que les arguments suivants :
  • -schemas/-s <noms de schéma et de table> : liste des noms de schéma et de table, dont les éléments sont séparés par une virgule, sur lesquels exécuter l'outil wsreversmapping si aucun fichier de schéma XML n'est indiqué.

    Chaque élément de la liste doit respecter les conventions d'attribution de nom de la propriété openjpa.jdbc.Schemas. Si cette option est omise, le paramètre prend par défaut la valeur de la propriété Schemas. Si la propriété Schemas n'est pas définie, tous les schémas sont mappés à l'inverse.

  • -package/-p <nom package> : nom du package des classes générées.

    Si aucun nom de package est donné, le code généré ne contient aucune déclaration de package.

  • -directory/-d <répertoire de sortie> : les métadonnées et le code générés sont écrits dans le répertoire indiqué par ce chemin.

    Si le chemin ne correspond pas au package d'une classe, la structure du package est créée sous ce répertoire. Ce paramètre prend par défaut la valeur du répertoire en cours.

  • -useSchemaName/-sn <true/t | false/f> : réglez cette option à true pour inclure le nom du schéma ainsi que le nom des tables dans le nom de chaque classe générée.

    Ce procédé peut être utile si plusieurs schémas comportent des tables aux noms identiques.

  • -useForeignKeyName/-fkn <true/t | false/f> : réglez cette option à true si vous souhaitez que les noms de zone des relations soient basés sur le nom de la clé externe de la base de données.

    Par défaut, les noms de zone des relations sont issus du nom de la classe associée.

  • -nullableAsObject/-no <true/t | false/f> : par défaut, toutes les colonnes de clé non externe sont mappées vers des primitives.

    Réglez cette option à true pour générer champs encapsuleurs de types primitifs à la place des colonnes qui admettent les valeurs NULL.

  • -blobAsObject/-bo <true/t | false/f> : par défaut, toutes les colonnes binaires sont mappées vers les zones byte[].

    Réglez cette option à true pour les mapper vers des champs Object à la place.

    Avertissement : Une fois mappée de cette manière, la colonne est censée contenir un objet Java™ sérialisé.
  • -primaryKeyOnJoin/pkj <true/t | false/f> : le comportement de l'outil de mappage inverse standard consiste à mapper toutes les tables dotées de clés primaires vers des classes persistantes.

    Si le schéma comporte des clés primaires sur plusieurs tables jointes, réglez cette option à true pour éviter le création de classes pour ces tables.

  • -inverseRelations/-ir <true/t | false/f> : réglez cette à option à false pour empêcher la création de relations un à plusieurs/un à un inverses pour chaque relation plusieurs à un/un à un détectée.
  • -useDatastoreIdentity/-ds <true/t | false/f> : réglez cette option à true pour utiliser l'identité du magasin de données pour les tables dotées de colonnes ne comportant qu'une seule clé primaire numérique.

    L'outil emploie généralement l'identité de l'application pour toutes les classes générées.

  • -useBuiltinIdentityClass/-bic <true/t | false/f> : réglez cette option à false pour empêcher l'outil wsreversemapping d'utiliser les classes d'identité de l'application intégrées lorsque cela est possible.

    Cela force l'outil à créer des classes d'identité de l'application personnalisées même lorsqu'il n'existe qu'une seule colonne de clé primaire.

  • -innerIdentityClasses/-inn <true/t | false/f> : réglez cette option à true pour que les classes d'identité de l'application générées soient créées en tant que classes internes statiques dans les classes persistantes.

    La valeur par défaut est false.

  • -identityClassSuffix/-is <suffixe> : suffixe à ajouter aux noms de classe pour former les noms de classe d'identité de l'application, ou, pour les classes d'identité internes, le nom de classe interne.

    Le suffixe par défaut est Id.

  • -typeMap/-typ <type mapping> : chaîne qui indique les classes Java par défaut pour la génération de chaque type SQL vu dans le schéma.

    Le format est SQLTYPE1=JavaClass1, SQLTYPE2=JavaClass2. Le nom du type SQL recherche d'abord une personnalisation basée sur SQLTYPE(SIZE,PRECISION), puis sur SQLTYPE(SIZE), et enfin sur SQLTYPE. Si une colonne de type CHAR est trouvée, la chaîne recherche d'abord la spécification de nom de type CHAR(50,0), puis CHAR(50) et finalement CHAR. Par exemple, pour générer un tableau char pour chaque colonne char dont la taille est d'exactement 50 caractères et pour générer un short pour chaque nom de type INTEGER, vous devez indiquer CHAR(50)=char[],INTEGER=short.

    Avertissement : Les différentes bases de données indiquent les noms de type de manière différente ; le type d'une base de données peut ne pas fonctionner avec une autre base de données. Activez la consignation de niveau TRACE sur le canal metadata pour effectuer le suivi des noms de type examinés par JPA for WebSphere Application Server.
  • -customizerClass/-cc <nom classe> : nom de classe complet d'un plug-in de personnalisation org.apache.openjpa.jdbc.meta.ReverseCustomizer.

    Si vous n'indiquez pas vous-même de personnaliseur inverse, le système utilise par défaut un personnaliseur PropertiesReverseCustomizer. Ce dernier permet d'indiquer des options de personnalisation simples dans le fichier propriétés donné grâce à l'option -customizerProperties.

    • -customizerProperties/-cp<ressource ou fichier propriétés> : chemin ou nom de ressource d'un fichier de propriétés à transmettre au personnaliseur inverse lors de l'initialisation.
    • -customizer/-c <nom propriété> <valeur propriété> : le nom de la propriété indiqué est mis en correspondance avec la propriété du bean Java correspondante dans le personnaliseur inverse précisé et prend la valeur donnée.

Utilisation

L'outil wsreversemapping permet d'effectuer des mappages inverses (ascendants) des tables de base de données vers des fichiers source d'entité. Il permet ainsi aux développeurs de générer des fichiers Java à partir d'une base de données et de les utiliser dans d'autres applications JPA. Pour exécuter cet outil :
  • Les tables de base de données et la connexion à la base de données doivent être configurées.
  • Exécutez l'outil wsreversemapping à partir de la ligne de commande dans le répertoire $ {racine_profil}/bin.
  • L'outil génère un fichier .java pour chaque classe, ainsi qu'un fichier descripteur XML orm.xml.
Vous devrez peut-être modifier les fichiers Java générés à l'aide de l'outil wsreversemapping avant de les utiliser dans une application. Les fichiers générés ne contiennent aucune annotation. Au besoin, elles peuvent être ajoutées manuellement. Les messages et les erreurs sont consignés dans la console d'administration, tel que spécifié par la configuration.

Exemples

Générez des entités basées sur les informations sauvegardées dans le fichier schema.xml. Le fichier schema.xml a été créé via l'exécution de l'outil schema. Les fichiers Java sont créés dans le répertoire src et utilisent le package com.xyz :

[AIX][HP-UX][Linux][Solaris][z/OS]
${profile_root}/bin/wsreversemapping.sh -pkg com.xyz -d ./src schema.xml
[IBM i]
${profile_root}/bin/wsreversemapping -pkg com.xyz -d ./src schema.xml
[Windows]
${profile_root}\bin\wsreversemapping.bat -pkg com.xyz -d ./src schema.xml

Générez des entités basées sur les informations figurant dans une base de données DB2. Les entités sont créées dans le répertoire src et utilisent le package com.reversemapped :

[AIX][HP-UX][Linux][Solaris][z/OS]
C:\> %profile_root%/bin/wsreversemapping.bat -sa dropDB Magazine.javapkg com.reversemapped -d src 
-connectionDriverName=com.ibm.db2.jcc.DB2Driver -connectionURL=jdbc:db2:localhost:50000/TEST 
-connectionUser=db2User -connectionPassword=db2Password 
[IBM i]
C:\> %profile_root%/bin/wsreversemapping -sa dropDB Magazine.javapkg com.reversemapped -d src 
-connectionDriverName=com.ibm.db2.jcc.DB2Driver -connectionURL=jdbc:db2:localhost:50000/TEST 
-connectionUser=db2User -connectionPassword=db2Password 
[Windows]
C:\> %profile_root%\bin\wsreversemapping.bat -sa dropDB Magazine.javapkg com.reversemapped -d src 
-connectionDriverName=com.ibm.db2.jcc.DB2Driver -connectionURL=jdbc:db2:localhost:50000/TEST 
-connectionUser=db2User -connectionPassword=db2Password 

Informations supplémentaires

Pour plus d'informations, reportez-vous à la section relative au mappage dans le document Apache OpenJPA User's Guide.


Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_wsreversemapping
Nom du fichier : rejb_wsreversemapping.html