SQL SELECT ステートメントの結果セットを保持するための Bean の生成

ステートメントが返す結果セットを保持するための Bean を生成することができます。 Java クラスが pureQuery をサポートする Java プロジェクト内にある限り、有効な SQL SELECT ステートメントを含む Java クラス内のどんなストリング・リテラル内の SQL SELECT ステートメントでも使用できます。

手順

SELECT ステートメントからの結果セットを保持する Bean を生成するには、以下の手順に従います。

  1. Java エディターで、目的のステートメントにテキスト・カーソルを置き、ステートメントを右クリックして、次に「pureQuery」 > 「pureQuery コードの生成」を選択します。 「SQL ステートメントからの pureQuery コードの生成」ウィザードが開きます。
  2. ウィザードのステップを完了します。
  3. 「完了」をクリックして、Bean を生成します。

タスクの結果

結合または Union を生成する SQL 照会または計算された列を含む SQL 照会で AS 節を使用しなければ、結果セットには名前が固有ではない列が含まれる可能性があります。 結果セットを示す Bean の生成時にワークベンチがこの問題を解決できるかどうかは、アプリケーションで使用するデータベースのタイプに依存します。
  • DB2® for Linux, UNIX, and Windows、 DB2 for z/OS®、 Informix® Dynamic Server の場合: ワークベンチは、1 つ以上の他の列と同じ名前を持つ列にマップされる、 プロパティーの @Column アノテーションを使用します。
    例えば、アプリケーションで以下の単純な照会を実行するものとします。
    	select a.col1, b.col1 from a, b where a.id=b.id;
    照会結果を保持する Bean 内の対応するプロパティーの set() メソッドには、以下に示すように、 2 つの id 列が存在する表の名前を提供する @Column アノテーションが必要です。
    public class JoinExample{
    
      private int a_id;
      private int b_id;
    
      @Column (name="id", table="a")
      public void setA_id (int a_id)
      {
        this.a_id = a_id;
      }
      public int getA_id ()
      {
        return a_id;
      }
    
      @Column (name="id", table="b")
      public void setB_id (int b_id)
      {
        this.b_id = b_id;
      }
      public int getB_id ()
      {
        return b_id;
      }
    }
  • Oracle の場合: ワークベンチは、問題のある列を Bean 内のプロパティーにマップする目的では、@Column アノテーションの table 属性を使用しません。 以下のいずれかの方法を使用して、それらの列をマップする必要があります。
    • SELECT ステートメントの AS 節を使用して、照会結果の列に固有名を割り当てる。
    • 名前ではなく、索引番号によって照会結果の列を処理できる RowHandler を使用する。RowHandler <ROW> インターフェースを参照してください。

フィードバック