code: public long[] executeInsert(Connection conn, DataObject object, boolean generatedKeys) throws SQLException {
          PreparedStatement statement = conn.prepareStatement(_sql, generatedKeys ? Statement.RETURN_GENERATED_KEYS : Statement.NO_GENERATED_KEYS);
          try {
              load(statement, object);
              long[] keys = new long[statement.executeUpdate()];
              if (generatedKeys) {
                  ResultSet rs = statement.getGeneratedKeys();
                  for (int i = 0; rs.next(); ++i) {
                      keys[i] = rs.getLong(1);
                  }
                  rs.close();
              }
              return keys;
          } finally {
              statement.close();
          }
      }
docs: Executes an INSERT statement.
  
  @return an array whose length indicates the number of rows inserted. If generatedKeys is true, the array
  contains the keys; otherwise the content of the array is not defined.