JDBC接続にて、数値項目(DB項目のNUMBER型など)の値を ResultSet.getInt() で、取得する際、対象の項目が NULL であった場合、 NULL ではなく、 0 が取得されます。
これは、 ResultSet.getInt() の戻り値が、参照型ではなく、プリミティブ型なので、当然といえば当然です。
なので、一つ前の呼び出しがNULLであったどうかを判定する場合は、ResultSet.wasNull() を使用します。
参考文献https://docs.oracle.com/javase/jp/6/api/java/sql/ResultSet.html#wasNull()