wsreversemapping コマンド
wsreversemapping ツールは、データベース・スキーマからパーシスタント・クラス定義およびメタデータを生成します。
構文
このコマンドを実行する前に、クラスパスに persistence.xml ファイルのコピーを配置するか、または -p [path_to_persistence.xml] 引数にプロパティー・ファイルとして、このファイルを指定する必要があります。このコマンドは、profile_root ディレクトリーの bin サブディレクトリーから実行します。
コマンド構文は次のようになります。
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
wsreversemapping.sh [parameters][arguments]
![[IBM i]](../images/iseries.gif)
wsreversemapping [parameters][arguments]
![[Windows]](../images/windows.gif)
wsreversemapping.bat [parameters][arguments]
パラメーター
- -schemas/-s <schema and table
names>: XML スキーマ・ファイルを指定していない場合に wsreversmapping ツールを実行するための、スキーマおよびテーブル名のコンマ区切りリストです。
リスト内の各エレメントは、openjpa.jdbc.Schemas プロパティーの命名規則に従う必要があります。このパラメーター・フラグを省略した場合は、デフォルトで Schemas プロパティーの値に設定されます。 Schemas プロパティーが定義されていない場合、すべてのスキーマは逆マッピングされます。
- -package/-p <package name>: 生成されたクラスのパッケージ名です。
パッケージ名を指定しない場合、生成されたコードにはパッケージ宣言が含まれません。
- -directory/-d <output directory>: 生成されたすべてのコードおよびメタデータが、このパスのディレクトリーに書き込まれます。
パスがクラスのパッケージと一致しない場合は、このディレクトリーの下にパッケージ構造が作成されます。このパラメーターは、デフォルトで現行ディレクトリーに設定されます。
- -useSchemaName/-sn <true/t | false/f>:
生成された各クラスの名前にスキーマおよびテーブル名を含める場合は、このパラメーター・フラグを true に設定します。
このメソッドは、同じ名前のテーブルを持つ複数のスキーマを処理する場合に便利です。
- -useForeignKeyName/-fkn <true/t | false/f>: 関係のフィールド名をデータベースの外部キー名に基づいて設定する場合は、このパラメーター・フラグを true に設定します。
デフォルトでは、関係フィールド名は関連クラスの名前から取得されます。
- -nullableAsObject/-no <true/t | false/f>: デフォルトでは、外部キー以外のすべての列がプリミティブにマッピングされます。
ヌル値がサポートされている列について、代わりにプリミティブ・ラッパー・フィールドを生成する場合は、このパラメーター・フラグを true に設定します。
- -blobAsObject/-bo <true/t | false/f>: デフォルトでは、すべてのバイナリー列が byte[] フィールドにマッピングされます。
代わりに Object フィールドにマッピングする場合は、このパラメーター・フラグを true に設定します。
重要: この方法でマッピングした場合は、シリアライズされた Java™ オブジェクトが列に格納されると推定されます。 - -primaryKeyOnJoin/pkj <true/t | false/f>: 逆マッピング・ツールの標準動作では、1 次キーを持つすべてのテーブルをパーシスタント・クラスにマッピングします。
スキーマの複数の結合テーブルに 1 次キーが存在する場合は、このフラグを true に設定して、これらのテーブルにクラスが作成されないようにしてください。
- -inverseRelations/-ir <true/t | false/f>: 検出されたすべての多対 1 または 1 対 1 の関係で、逆の 1 対多または 1 対 1 の関係が作成されないようにするには、このパラメーター・フラグを false に設定します。
- -useDatastoreIdentity/-ds <true/t | false/f>: 単一数値 1 次キー列を持つテーブルにデータ・ストア ID を使用する場合は、true に設定します。
このツールでは、通常生成されたすべてのクラスに対してアプリケーション ID が使用されます。
- -useBuiltinIdentityClass/-bic <true/t
| false/f>: 可能な場合に、wsreversemapping ツールで組み込みアプリケーション ID クラスが使用されないようにするには、このパラメーター・フラグを false に設定します。
このように設定すると、1 次キー列が 1 つしかない場合でも、ツールにカスタム・アプリケーション ID クラスの作成が強制されます。
- -innerIdentityClasses/-inn <true/t | false/f>: 生成されたアプリケーション ID クラスを、パーシスタント・クラス内の静的内部クラスとして作成する場合は、このパラメーター・フラグを true に設定します。
デフォルト設定は false です。
- -identityClassSuffix/-is <suffix>: アプリケーション ID クラス名を形成するためにクラス名に追加する接尾部です。内部 ID クラスの場合は、内部クラス名に追加します。
デフォルトの接尾部は、Id です。
- -typeMap/-typ <type mapping>:
スキーマ内に出現する SQL タイプごとに生成されるデフォルトの Java クラスを指定するストリングです。
フォーマットは SQLTYPE1=JavaClass1, SQLTYPE2=JavaClass2 です。 SQL タイプ名は、最初に SQLTYPE(SIZE,PRECISION) に基づいてカスタマイズを検索し、次に SQLTYPE(SIZE)、その次に SQLTYPE に基づいて検索します。タイプが CHAR の列が検索されると、CHAR(50,0)、次に CHAR(50)、最後に CHAR のタイプの名前指定が検索されます。例えば、サイズが明示的に 50 文字に設定されている char 列ごとに、char 配列を生成し、INTEGER のすべてのタイプ名に short を生成するには、CHAR(50)=char[],INTEGER=short と指定します。
重要: データベースごとに異なるタイプ名が報告されます。特定のデータベース・タイプが、別のデータベースで機能しないことがあります。どのタイプ名が WebSphere Application Server 用 JPA の検査対象であるかを追跡するには、メタデータ・チャネルで TRACE レベルのロギングを使用できるようにします。 - -customizerClass/-cc <class name>: org.apache.openjpa.jdbc.meta.ReverseCustomizer カスタマイズ・プラグインのフル・クラス名です。
独自の逆カスタマイザーを指定しない場合は、デフォルトで PropertiesReverseCustomizer に設定されます。このカスタマイザーでは、-customizerProperties フラグで指定されたプロパティー・ファイル内での簡単なカスタマイズ・オプションの指定がサポートされています。
- -customizerProperties/-cp<properties file or resource>: 初期化時に逆カスタマイザーに渡すプロパティー・ファイルのパスまたはリソース名です。
- -customizer/-c <property name> <property value>: 指定したプロパティー名は、指定した逆カスタマイザー内の対応する Java Bean プロパティーとマッチングされ、指定した値に設定されます。
使用法
- データベース表およびデータベース接続を構成する必要があります。
- $ {profile_root}/bin ディレクトリーで、コマンド行から wsreversemapping ツールを実行します。
- このツールによって、クラスごとの .java ファイルが XML 記述子ファイル orm.xml とともに生成されます。
例
schema.xml ファイルに保存された情報に基づいて、エンティティーを生成します。Schema.xml は、スキーマ・ツールを実行して作成されました。 Java ファイルが src ディレクトリーに作成され、パッケージ com.xyz を使用します。
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
${profile_root}/bin/wsreversemapping.sh -pkg com.xyz -d ./src schema.xml
![[IBM i]](../images/iseries.gif)
${profile_root}/bin/wsreversemapping -pkg com.xyz -d ./src schema.xml
![[Windows]](../images/windows.gif)
${profile_root}¥bin¥wsreversemapping.bat -pkg com.xyz -d ./src schema.xml
DB2® データベースの情報に基づいて、エンティティーを生成します。src ディレクトリーにエンティティーが作成され、パッケージ com.reversemapped を使用します。
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
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]](../images/iseries.gif)
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]](../images/windows.gif)
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
追加情報
詳しくは、『Apache OpenJPA ユーザーズ・ガイド』のマッピング・セクションを参照してください。