wsappid コマンド

Java™ Persistence API (JPA) 仕様では、エンティティーの 1 次キーを複数の列で構成することがサポートされています。 この場合、1 次キーはコンポジット 1 次キーまたは複合 1 次キーと呼ばれます。コンポジット 1 次キーを管理するには、@IdClass アノテーションで指定される ID クラスを提供します。 コンポジット 1 次キーを使用するエンティティーの ID クラスを生成するには、JPA の識別ツールを使用します。

構文

このコマンドを実行する前に、クラスパスに persistence.xml ファイルのコピーを配置するか、または -p [path_to_persistence.xml] 引数内でこのファイルをプロパティー・ファイルとして指定する必要があります。このコマンドは、profile_root ディレクトリーの bin サブディレクトリーから実行します。

コマンド構文は次のようになります。

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

パラメーター

wsappid ツールでは、構成フレームワークで定義されたコマンド行引数の標準セットと、以下のパラメーターを使用することができます。
  • -directory/-d <output_directory>: 出力ディレクトリーのパスです。

    ディレクトリーと生成された出力 ID クラス・パッケージが一致しない場合は、このディレクトリーの下にパッケージ構造が作成されます。 このパラメーターを指定しない場合、wsappid ツールでは .java ファイルのディレクトリーを検索し、パーシスタンスをサポートするクラスを見つけようと試みます。.java ファイルが見つからない場合、wsappid ツールでは現行ディレクトリーが使用されます。

  • -ignoreErrors/-i <true/t | false/f>: このパラメーターを false に設定している場合に、アプリケーション ID を使用しないクラスに対して、このツールを実行すると、例外が発生します。 また、クラスに継承の階層内の基本クラスがない場合にもエラーが発生します。
  • -token/-t <token>: ストリング形式のオブジェクト ID 内で結合されてストリング化された 1 次キーの個々の値を区別する場合に使用するトークンです。

    このオプションを使用するのは、1 次キー・フィールドが複数ある場合のみです。 デフォルトは "::" です。

  • -name/-n <id_class_name>: 生成する ID クラスの名前です。

    このオプションを指定した場合、wsappid ツールはただ 1 つのクラスに関して実行する必要があります。クラス・メタデータによってオブジェクトの ID クラスの名前が既に設定されている場合、このオプションは無視されます。 名前が完全に修飾されていない場合、パーシスタンス・クラスのパッケージが追加されて、完全修飾名 が形成されます。

  • suffix <id_class_suffix>: 各パーシスタント・クラスに接尾部を付加して ID クラス名を形成するためのストリングです。

    このオプションは、-name/-n パラメーターによって、またはメタデータで指定されたオブジェクト ID クラスによってオーバーライドされます。

wsappid ツールの追加引数ごとに、以下のいずれかを実行する必要があります。
  • パーシスタント・クラスのフルネーム
  • パーシスタント・クラスの .java
  • パーシスタント・クラスの .class ファイル

使用法

識別ツールとアプリケーション・サーバー用 JPA を組み合わせると、コンポジット ID を使用するエンティティーの ID クラスの作成タスクが簡単になります。 コンポジット ID とは、1 次キーとして複数のフィールドを持つ ID のことです。 エンティティー・クラスをコンパイルし、このエンティティー・クラス内で 1 次キーを識別する必要があります。profile_root/bin/ ディレクトリーで、コマンド行から wsappid ツールを実行します。このコマンドを実行すると、エンティティーのコンポジット ID を表す新しいクラスが生成されます。 メッセージおよびエラーは、指定されたコンソールに記録されます。

以下のエンティティーについて考えます。
@Entity
public class Employee {

@Id
private int division;

@Id private int id;
// . . . 
}
このエンティティーを使用する前に、1 つの ID クラスが必要です。この例では、エンティティーが src/main/java ディレクトリー内にあると想定します。

Magazine エンティティーの ID クラスを生成するには、次のコマンドを実行します。

[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
新しいクラス EmployeeId.java が src/main/java ディレクトリーに生成されます。

追加情報

詳しくは、「Apache OpenJPA ユーザー・ガイド」のパーシスタンス・クラスのアプリケーション識別ツールの情報を参照してください。


トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_wsappid
ファイル名:rejb_wsappid.html