wsmapping コマンド

エンティティー・オブジェクト・モデルをデータベース関係モデルにトップダウン方式でマッピングする場合は、wsmapping ツールを使用します。 wsmapping ツールを使用すると、データベース表を作成することができます。

構文

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

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

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

パラメーター

マッピング・ツールでは、構成フレームワークで定義されたコマンド行引数の標準セットと、以下のオプションを使用することができます。
  • -schemaAction/-sa <add | refresh | drop | build | reflect | retain | createDB | import | export | none>: スキーマに対して実行するアクションです。

    これらのオプションは、スキーマ・ツールのアクションに対応します。 何も指定しない場合、デフォルト・アクションは add です。 コンマ区切りリストに複数のアクションを指定することができます。

    注: wsmapping ツールでは -action/-a フラグを使用して、個別クラスごとに実行するアクションを指定することができます。 すべてのパーシスタント・タイプに一度に wsmapping を実行しないかぎり、デフォルトの add アクションまたは build アクションを使用する必要があります。これらを指定しない場合、現在ツールの実行対象となっていないクラスで使用されるスキーマ・コンポーネントが、誤って削除されることがあります。
  • -schemaFile/-sf <true/t | false/f>: このオプションを使用すると、データベースを修正しないで、計画されたスキーマを XML 文書に書き込むことができます。

    この後、スキーマ・ツールによって XML 文書は変更され、処理されて、データベースにコミットされます。

  • -sqlFile/-sql <stdout | output file>: このオプションを使用すると、データベースを変更しないで、計画されたスキーマの変更を SQL スクリプトに書き込むことができます。

    現行マッピングの・スキーマが存在する場合でも、このパラメーターと buildschemaAction を組み合わせて、そのスキーマを再作成するスクリプトを生成してください。

  • -dropTables/-dt <true/t | false/f>: このオプションが true に設定されている場合、retain および refresh アクション中に使用されないテーブルは、スキーマによって削除されます。

    デフォルトは true です。

  • -dropSequences/-dsq <true/t | false/f>: このオプションが true に設定されている場合、retain および refresh アクション中に使用されないシーケンスは、スキーマによって削除されます。

    デフォルトは true です。

  • -openjpatables/-ot <true/t | false/f>: スキーマを反映している間に、このパラメーターは OPENJPA_ で名前が開始するテーブルまたはシーケンスに反映させるかどうかを判別します。

    特定の OpenJPA コンポーネントでは、テーブル・スキーマ・ファクトリーなどの、これらのテーブルやシーケンスが使用されます。 その他のアクションを使用している場合は、openjpaTables パラメーターによって、これらのテーブルをドロップできるかどうかが制御されます。 デフォルト設定は false です。

  • -ignoreErrors/-i <true/t | false/f>: false に設定している場合に、ツールでデータベース・エラーが検出されると、例外が発生します。

    デフォルトでは、false に設定されます。

  • -schemas/-s <schema list>: wsschema ツールを実行している場合に OpenJPA がアクセスする必要があるスキーマおよびテーブルの名前のリストを示します。

    これは、openjpa.jdbc.Schemas プロパティーを一度実行するように設定する操作と同等です。 このパラメーターは、wsschema ツールの -schemas/-s パラメーターに対応します。-readSchema/-rstrue に設定されていない場合、このオプションは無視されます。

  • -readSchema/-rs <true/t | false/f>: マッピング・ツールの実行中に既存スキーマ全体を読み取る場合は、このオプションを true に設定します。

    既存スキーマを読み取るようにすると、OpenJPA は既存の名前と矛盾するテーブル、索引、1 次キーまたは外部キー名を使用するマッピングを生成しなくなります。

    注: JDBC ドライバーによっては、-readSchema/-rs 機能を選択すると大規模スキーマのプロセス速度が低下することがあります。
  • -primaryKeys/-pk <true/t | false/f>: このフラグは、既存テーブルで 1 次キーを操作できるかどうかを判別します。

    デフォルトは true です。

  • -foreignKeys/fk <true/t | false/f>: このフラグは、既存テーブルで外部キーを操作できるかどうかを判別します。

    デフォルトは true です。つまり、既にマッピングされているクラスに新しい外部キーを追加するには、このパラメーター・フラグを明示的に true に設定する必要があります。

  • -indexes/-ix <true/t | false/f>: このフラグは、既存テーブルで索引を操作できるかどうかを判別します。

    デフォルトは true です。つまり、既にマッピングされているクラスに新しい索引を追加するには、このパラメーター・フラグを明示的に true に設定する必要があります。

  • -sequences/-sq <true/t | false/f>: このフラグは、シーケンスを操作できるかどうかを判別します。

    デフォルトは true です。

  • -meta/-m <true/t | false/f>: このフラグでは、マッピングを標準マッピングではなくメタデータに適用するかどうか、または標準マッピングのほかにメタデータにも適用するかどうかを指定します。
  • wsmapping ツールでは -action/-a フラグを使用して、クラスごとに実行するアクションを指定することができます。 コンマ区切りリストに複数のアクションを指定することができます。 使用可能なアクションは次のとおりです。
    • buildSchema: デフォルト・アクションです。buildSchema アクションはデータベース・スキーマを既存マッピングにマッチングさせます。 指定したマッピングがクラス定義と矛盾する場合、OpenJPA は失敗し、通知用例外が発生します。
    • validate: 指定したクラスのマッピングが有効であって、データベースのスキーマと一致していることを確認します。 このアクションを実行しても、テーブルのマッピングは変更されません。 無効なマッピングがある場合は、例外が発生します。
wsmapping ツールの追加引数は、それぞれ以下のいずれかでなければなりません。
  • パーシスタント・クラスのフルネーム
  • パーシスタント・クラスの .java
  • パーシスタント・クラスの .class ファイル

wsmapping ツールに引数を指定しない場合は、パーシスタント・クラス・リスト内のクラスに対して実行されます。

使用法

wsmapping ツールを実行する前に、URL、ユーザー、パスワードなどのデータ・ソース情報を構成する必要があります。 バイトコードをエンティティー・クラスに挿入する wsmapping ツールの前に、wsenhancer ツールを実行する必要があります。 また、エンティティーのコンパイル済みクラス・ファイルをクラスパスに配置する必要があります。エンティティー・クラス・ファイルが、例えば次のように target/classes にあると想定します。

[AIX][HP-UX][Linux][AIX HP-UX Solaris][Solaris][z/OS]
export CLASSPATH=${CLASSPATH}:target/classes

wsmapping.sh ...
[IBM i]
export CLASSPATH=${CLASSPATH}:target/classes

wsmapping ...
[Windows]
SET CLASSPATH=%CLASSPATH%;target¥classes

wsmapping.bat . . .

テーブルを作成するには、${profile_root}/bin ディレクトリーから wsmapping コマンドを実行します。このコマンドが完了すると、データベース表が作成または更新されます。 メッセージおよびエラーは、ログ設定で指定された管理コンソールに記録されます。

wsmapping.sh . . . Windows の場合:

ヒント: openjpa.jdbc.SynchronizeMappings プロパティーに buildSchema パラメーターを指定すると、マッピング・ツールにより、データベース・スキーマと一致するデフォルト・マッピングが自動的に指定されます。 必要なデータベース・スキーマをデフォルト・マッピングが満たしていない場合は、このマッピング・ツールを実行する必要があります。

Magazine.java ファイルに必要なデータベース・テーブルを作成するには、以下のコマンドを実行します。

[AIX][HP-UX][Linux][Solaris][z/OS]
${profile_root}/bin/wsmapping.sh Magazine.java
[IBM i]
${profile_root}/bin/wsmapping Magazine.java
[Windows]
${profile_root}¥bin¥wsmapping.sh Magazine.java

Magazine.java のテーブルを削除するには、以下のコマンドを実行します。

[AIX][HP-UX][Linux][Solaris][z/OS]
C:¥> %profile_root%/bin/wsmapping.sh -sa dropDB Magazine.java
[IBM i]
C:¥> %profile_root%/bin/wsmapping -sa dropDB Magazine.java
[Windows]
C:¥> %profile_root%¥bin¥wsmapping.bat -sa dropDB Magazine.java

クラスパスのすべてのクラスのマッピングを検証するには、以下のコマンドを実行します。

[AIX][HP-UX][Linux][Solaris][z/OS]
C:¥> %profile_root%/bin/wsmapping.sh -a validate
[IBM i]
C:¥> %profile_root%/bin/wsmapping -a validate
[Windows]
C:¥> %profile_root%¥bin¥wsmapping.bat -a validate

追加情報

詳細および例については、「Apache OpenJPA ユーザーズ・ガイド」のロギングのマッピングの情報を参照してください。


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



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