JDBCでSQLのNULLを処理する

JDBCSQLのNULLをちゃんと処理する方法がよくわかってなくて色々調べてsunのリファレンスにたどり着いた。というか最初からそこ見ろよ俺。

A.9     isNull と wasNull

SQL の NULL を処理するよい方法の決定までには、若干の困難がありました。しかし、JDBC 0.50 では、十分に使いやすいと思われる ResultSet.isNull メソッドが提供されました。列を読み取る前、または読み取ったあとに isNull メソッドを呼び出して、列が NULL かどうかを判定できます。
if (!ResultSet(isNull(3)) {
	count += ResultSet.getInt(3);
}

残念ながら、isNull をすべてのデータベースに確実に実装するのは不可能であることが明らかになりました。一部のデータベースでは、列を読み取る以外に列が NULL かどうかを判定する手段がなく、しかも特定の列の読み取りは 1 回しか認められていません。列の値を読み取り、あとで使えるように保存しておく方法を検討しましたが、データの変換が必要な場合に問題があります。
さまざまな解決策を調査したあと、不本意ながら、isNull メソッドを wasNull メソッドに置き換えることに決定しました。wasNull メソッドは、単に、特定の ResultSet (または CallableStatement) から読み取った最後の値が SQL の NULL かどうかだけを返します。

なるほど。