Не могу сделать UPDATE jdbc

проблема заключается с обновлением данных: Есть запрос insert, плюс метод который генерирует рандомный первичный ключ uuid :

public void insert(Client obj) {

      obj.setId(UUID.randomUUID());
      String sql = "INSERT INTO Client (id,name,surname,middleName,insurancePolicy,phoneNumber) VALUES (?,?,?,?,?,?)";
      sqlCommand(obj, sql);
  }

Есть запрос на update:

@Override
    public void update(Client obj) {
        String sql = "UPDATE Client Set name = ?  , surname = ? ,middleName = ? , insurancePolicy =?,  phoneNumber = ?, WHERE id=" + obj.getId() + ";";
        sqlCommandR(obj, sql);
    }

Запрос выполнения в который падают все добавления и обновления. но проблема в том, что когда делаю update, то в методе sqlCommand записывается getId(), но он уже есть в update и должен остаться старым. В общем когда обновляю запрос получаю:

NullPointerException на строке метода sqlCommand: preparedStatement.setObject(1, obj.getId());

private void sqlCommand(Client obj, String sql) {
        try {
            PreparedStatement preparedStatement = BaseConnect.preparedStatement(sql);
                preparedStatement.setObject(1, obj.getId());
                preparedStatement.setString(2, obj.getName());
                preparedStatement.setString(3, obj.getSurname());
                preparedStatement.setString(4, obj.getMiddleName());
                preparedStatement.setLong(5, obj.getInsurancePolicy());
                preparedStatement.setLong(6, obj.getPhoneNumber());
            preparedStatement.execute();
            preparedStatement.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

Не могу понять в чем причина...


Ответы (0 шт):