pureQuery を使用することで、リレーショナル・データをオブジェクトとして扱う Java アプリケーションを作成できます。さらにアプリケーションは、メモリー内 Java コレクションに保管されたオブジェクトを、それらのオブジェクトがリレーショナル・データであるかのように扱うこともできます。
リレーショナル・データまたは Java オブジェクトを照会または更新するために、よく知られていて、広く使用されている単一の言語である SQL を使用できます。
- 単一の API を使用して、データベース、メモリー内コレクション、および Iterator オブジェクトに対して SQL を実行することができます。
Java プラットフォームは、メモリー内コレクションと、多様なソースからの外部データを処理するために、多数のデータ構造および API を提供します。
このそれぞれは一般に、特定のタイプの問題を解決することに完全に適したものですが、コレクション内のデータを取得して変更するための固有セットのインターフェースも備えています。
例えば、Java Array、List、Map、および Iterator はそれぞれ、コレクション内のデータの照会用、および場合によっては更新用の API を提供します。
同様に、JDBC API は、SQL を使用してリレーショナル・オブジェクトおよび他の外部 JDBC DataSource オブジェクトにアクセスする手段を提供します。
ただし、pureQuery を使用した場合にのみ、アプリケーションはこれらすべてのデータのソースに、個別にまたは組み合わせて、よく知られた単一の照会言語を使用してアクセスできます。
- データ・アクセス用の、簡単で分かりやすいプログラミング・モデルを提供します。
- pureQuery は JDBC 上で薄いレイヤーとして実行し、照会、更新、ストアード・プロシージャーの呼び出し、およびデータベースのアクセスに関連する他のタスクを単純化します。
これは Java 2 Platform Standard Edition 5.0 (J2SE 5.0) と、Java Platform Standard Edition 6 (Java SE 6) 上で稼働します。
- 開発者がほとんど介入せずに SQL データを戻りの型に自動的にマップしますが、複雑なマッピングのためのカスタマイズ・コードを提供できます。
- 多くの Java オブジェクト・パターンに対して、SQL 照会結果と戻されたオブジェクトとの間の自動マッピングを提供します。
照会結果と Java オブジェクトとの間の複雑なマッピングには、カスタム・マッピングが可能なプラグ可能出口インターフェースがあります。
- アノテーション付きメソッドとインライン・メソッドを使用した SQL アプリケーションの開発をサポート
- カスタム・インターフェースで独自のメソッドを定義する場合は、アノテーション付きメソッド がサポートされます。
SQL ステートメントによってアノテーションを付けられた定義のあるメソッドを作成します。アノテーション付きメソッドを使用してデータ・アクセス・オブジェクトを作成することによって、データ・アクセス・オブジェクト (DAO) パターンに準拠したアプリケーションを開発できます。
- IBM 提供の Data インターフェースに定義されたメソッドを活用する場合は、インライン・メソッド がサポートされます。
インライン・メソッドは、アプリケーションの実行時に SQL ステートメントの組み立てが必要なアプリケーションで役立ちます。
インライン・メソッドでは、SQL ステートメントがメソッド呼び出しでパラメーターとして渡され、これは JDBC および SQLJ で採用されている方式と同様です。
- 実行時の動的と静的両方の SQL のサポート
- pureQuery API で開発するアプリケーションでは、組み込み SQL と、実行時まで不明の随時 SQL の両方に対する標準 JDBC ドライバーがある動的 SQL を使用できます。
- また、pureQuery API アプリケーションは、そのコードがアノテーション付きメソッド・プログラミング・スタイルと DB2® データベースを使用する場合、静的 SQL も使用できます。 静的 SQL の使用に関する詳細は、SQL ステートメントの静的な実行を参照してください。
- z/OS® での pureQuery アプリケーション実行時の JDBC タイプ 2 接続のサポート
- JDBC タイプ 2 ドライバーは、Java とネイティブ・コードを組み合わせたものであるため、
タイプ 2 接続は一般に、タイプ 4 接続よりもパフォーマンスが優れています。