Un objeto ResultSet predeterminado no es actualizable y tiene un cursor que solo se mueve hacia adelante. Por lo tanto, puede recorrerlo solo una vez y solo desde la primera fila hasta la última fila.
A nivel de código, puede hacer lo siguiente
Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet resultSet = statement.executeQuery("select noorder from orders");
resultSet.afterLast();
while (resultSet.previous()) {
String productCode = resultSet.getString("col_one");
String productName = resultSet.getString("col_two");
}
connection.close();