Commande wsappid

La spécification Java™ Persistence API (JPA) admet que la clé primaire d'une entité puisse être constituée de plusieurs colonnes. Dans ce cas, la clé primaire est appelée clé primaire composite ou composée (de l'anglais "compound"). Fournissez une classe d'ID, indiquée par l'annotation @IdClass, pour gérer une clé primaire composite. Faites appel à l'outil d'identité pour JPA afin de générer une classe d'ID pour les entités qui utilisent des clés primaires composites.

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]
wsappid.sh [parameters][arguments]
[IBM i]
wsappid [parameters][arguments]
[Windows]
wsappid.bat [parameters][arguments]

Paramètres

L'outil wsappid accepte le jeu standard des arguments de ligne de commande définis par la structure de configuration, ainsi que les arguments suivants :
  • -directory/-d <répertoire_sortie> : chemin du répertoire de sortie.

    Si le répertoire ne correspond pas au package de la classe d'ID de sortie généré, la structure du package est créée sous le répertoire. Si ce paramètre n'est pas indiqué, l'outil wsappid tente de trouver le répertoire du fichier .java de la classe qui prend en charge la persistance. S'il ne trouve aucun fichier .java, l'outil wsappid utilise le répertoire en cours.

  • -ignoreErrors/-i <true/t | false/f> : Si ce paramètre est réglé à false, une exception est lancée lorsque l'outil est exécuté sur une classe qui n'utilise pas l'identité de l'application. Une erreur se produit également si une classe n'a pas la classe de base dans sa hiérarchie d'héritage.
  • -token/-t <jeton> : jeton employé pour séparer les valeurs des clés primaires dans la forme String de l'ID d'objet.

    Utilisez cette option uniquement s'il y a plusieurs champs de clé primaire. La valeur par défaut est "::".

  • -name/-n <nom_classe_id> : nom de la classe d'identité à générer.

    Si cette option est indiquée, l'outil wsappid doit être exécuté sur exactement une classe. Si les métadonnées de la classe nomment déjà une classe d'ID pour l'objet, cette option est ignorée. Si le nom n'est pas entièrement qualifié, le package de la classe de persistance est ajouté pour former le nom entièrement qualifié.

  • suffix <suffixe_classe_id> : Chaîne qui doit être ajoutée en suffixe à chaque nom de classe persistante pour former le nom de la classe d'identité.

    Cette option est remplacée par le paramètre -name/-n ou par une classe d'ID objet indiquée dans les métadonnées.

Chaque argument supplémentaire de l'outil wsappid doit être l'un des arguments suivants :
  • nom complet d'une classe persistante,
  • nom .java d'une classe persistante,
  • fichier .class d'une classe persistante.

Utilisation

L'outil d'identité employé avec JPA pour le serveur d'applications simplifie la tâche de création d'une classe d'identité pour les entités qui utilisent des ID composites. Un ID composite est une identité avec plusieurs champs en tant que clé primaire. La classe d'entité doit être compilée, et les clés primaires doivent être identifiées dans la classe d'entité. Exécutez l'outil wsappid à partir de la ligne de commande dans le répertoire racine_profil/bin/. Lorsque vous exécutez cette commande, une nouvelle classe représentant l'ID composite de l'entité est générée. Les messages et les erreurs sont consignés dans la console comme indiqué.

Exemples

Prenez l'exemple de l'entité suivante :
@Entity 
public class Employee { 

@Id 
private int division;  

@Id private int id;  
// . . . 
}
Avant que l'entité puisse être utilisée, une classe d'ID est nécessaire. Pour cet exemple, supposez que l'entité est trouvée dans le répertoire src/main/java.

Pour générer une classe d'ID pour l'entité Magazine, exécutez la commande suivante :

[AIX][HP-UX][Linux][Solaris][z/OS]
wsappid.sh -s Id src/main/java/Employee.java -d src/main/java
[IBM i]
wsappid -s Id src/main/java/Employee.java -d src/main/java
[Windows]
wsappid.bat -s Id src\main\java\Employee.java -d src\main\java
Une nouvelle classe, EmployeeId.java, est générée dans le répertoire src/main/java.

Informations supplémentaires

Pour plus d'informations, lisez la section "Application identity tool in persistence classes" dans l'ouvrage Apache OpenJPA User 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_wsappid
Nom du fichier : rejb_wsappid.html