Everywhere else in Java, anything with an index starts at 0. Is there a reason for the change here or is this just bad design?
Likely it's that JDBC was modeled on ODBC.