Data インターフェースでの更新メソッドの戻りの型

以下の表には、Data インターフェースにおけるそれぞれの更新メソッドの戻りの型が示されています。
表 1. 戻りの型に関する表のキー
省略形 意味
O Object
T 汎用クラス。プリミティブ Java タイプのラッパー・クラス、単純な Object 型、または Bean にすることができます。
表 2. Data インターフェースでの各更新メソッドの戻りの型
  戻りの型
更新メソッド int int[] O[] <T>
update() X      
returnClass を伴う update()     X X
updateMany()   X    

update() メソッドは、SQL ステートメントの更新カウントを示す整数を戻します。updateMany() メソッドは、SQL ステートメントの各実行における更新カウントを示す整数からなる配列を戻します。

returnClass をパラメーターとして取る update() メソッドは、自動生成キーに関する情報を要求する際に使用されます。returnClassObject[] の場合、その配列には自動生成キーの値と更新カウントの両方が含まれます。returnClassObject[] ではない場合、このメソッドは最初の自動生成キーまたは唯一の自動生成キーが含まれる returnClass のインスタンスを戻し、更新カウントは廃棄されます。

<T> オブジェクトの戻りに関する制約事項

Data インターフェースのメソッドを使用する場合、<primitive Java type>.class クラスのいずれか (int.class など) である汎用 <T> クラスを指定しないでください。

SQL NULL 値に関する情報は、SQL から照会された情報がプリミティブ Java タイプに格納されると失われます。 さらに、Java は、<primitive Java type>.class の汎用 <T> クラスを指定する汎用メソッドが、そのプリミティブ Java タイプに適したラッパー・クラスのインスタンスを戻すように要求します。

例えば、Java は以下のようなメソッドの起動を許可しません。
int tCount = data.queryFirst("select ...", int.class, p);
なお、queryFirst() メソッドの定義は以下のとおりです。
<T> T data.queryFirst(String sql, Class<T> returnType, Object... params);
tCount の宣言されたクラスは Integer でなければなりません。
Integer tCount = data.queryFirst("select ...", Integer.class, p);

フィードバック