IBM Optim pureQuery Runtime

IBM® Optim™ pureQuery Runtime は、これまでとは別の方法でデータベースにアクセスできる Java™ Persistence API (JPA) を 提供します。PureQuery は、静的 Structured Query Language (SQL) をサポートしています。PureQuery は、OpenJPA と WSJPA のパーシスタンス・プロバイダーによってのみサポートされています。

このタスクについて

JPA は、Java EE 環境および Java SE 環境では、 オプションで pureQuery ランタイム環境をサポートします。 PureQuery は、データにアクセスする アプリケーションの管理を支援するハイパフォーマンスの Java データ・アクセス・プラットフォームです。PureQuery は、DB2® および Informix® データベースにアクセスするために Java Database Connectivity (JDBC) の代わりに使用できる代替の API セットを提供します。

アプリケーション・サーバーでこのフィーチャーを使用するには、 Data Studio pureQuery ランタイム・バージョン 1.2 以降をインストールする必要があります。管理コンソールから、または wsadmin ツールを使用して、DB2 バインド・コマンドを実行する場合は、 pureQuery v1.2 以降が必要になります。詳細については、IBM Optim pureQuery Runtime インフォメーション・センターで pureQuery Runtime のインストールに関するトピックを参照してください。

pureQuery は動的に使用することができます。 pdqxml ファイルのロケーションは、データ・ソースまたは接続 URL にある pdqProperties プロパティーによって指定されます。 詳細については、トピック 『pureQuery の動的モードでの使用』を参照してください。

PureQuery では DB2 パッケージを使用します。これらのパッケージは、1 つ以上の SQL ステートメントに関する情報で構成されており、DB2 カタログに保管されます。 パッケージを作成するには、ユーザーは最初に JPA アプリケーションで wsdbgen コマンドを実行する必要があります。wsdbgen コマンドにより、 persistence_unit_name.pdqxml ファイルが作成されます。 このファイルには、事前に生成された、作成、更新、削除、および取り出しの SQL ステートメント、JPA エンティティーの NamedQueries および NamedNativeQueries が含まれています。persistence_unit_name.pdqxml ファイルは、 データベースに対してバインドする必要があります。 関連する DB2 パッケージが生成され、実行時に SQL ステートメントが静的に開始します。この persistence_unit_name.pdqxml ファイルは、 アプリケーションの Java アーカイブ (JAR) ファイルに含める必要があります。

アプリケーション・サーバーは、ejbdeploy SQLj オプションにより、Enterprise JavaBeans (EJB) 2.x 以降のエンティティー Bean 用の静的 SQL をサポートします。JPA では、このフィーチャーは pureQuery により提供されます。

JDBC や SQLJ の代わりに pureQuery を使用すると、次のような複数の利点があります。 静的 SQL では、アプリケーションは既知の SQL を実行する権限のみ与えられるため、 データのアクセスに対するセキュリティーおよび制御がより強化されます。静的 SQL では、SQL ステートメントの ランタイム解析や最適化が行われないため、DB2 サーバーのリソースの使用効率が向上します。

バインド・プロセスを実行し、JDBC プロバイダーを定義する場合は、 以下の 4 つの Java アーカイブ (JAR) ファイルがクラスパスになければなりません。
  • db2jcc_license_cisuz.jar
  • db2jcc_license_cu.jar
  • pdq.jar
  • pdqmgmt.jar
重要: pureQuery の DB2 JAR レベルのコンプライアンスについて詳しくは、IBM サポート Web サイトで『System requirements for IBM Optim pureQuery Runtime for Linux, UNIX, and Windows』を参照してください。
制約事項:
  • FetchPlan API または wsjpa.ConnectionFactoryProperties 用の プロパティー・プラグイン・ストリングのいずれかで指定された QueryTimeout プロパティーはサポートされません。 QueryTimeout 値を指定しても無視されます。
  • FetchPlan API で指定された QueryTimeout プロパティー はサポートされません。QueryTimeout 値を指定しても無視されます。
  • OpenJPA の結果が大きい場合には、スクロール可能なカーソルとして JDBC API が使用されます。
重要:
  • JPA は pureQuery プロパティー、pdq.executionMode に、値 STATIC をセットします。
  • JDBC プロバイダー構成には、JDBC ドライバーの JAR ファイルだけでなく、 pureQuery ランタイム環境用の JAR ファイルも組み込む必要があります。
  • OpenJPA は、アプリケーション・プログラムが プログラマチックに FetchPlan にアクセスして、実行時にそれを変更することをサポートします。フェッチ・プランを変更すると、 アプリケーションのビルド時に wsdbgen コマンドで SQL が生成されなくなる可能性があります。これが発生する場合、 データベース・パッケージから静的 SQL を使用するのではなく、SQL は動的に実行されます。
  • ユーザーがアプリケーション・クエリー、エンティティー・マッピングまたは パーシスタンス・プロパティーを変更した場合は、wsdbgen コマンドを実行して再バインドします。 このプロセスでは、更新された データベース・パッケージを生成してバインドします。
  • JPA クエリーの入力パラメーター値 (EJB SQL クエリーとネイティブ SQL クエリーの両方) は、 ステートメント SET 式の値の更新を除いては、NULL 値にすることはできません。 SELECT、UPDATE、または DELETE の WHERE 節で NULL 値を検索するには、代わりに is null 述部を入力します。

手順


トピックのタイプを示すアイコン タスク・トピック



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