Немного сложно ответить, потому что довольно непонятно, что вы хотите сделать ... Каков контекст этого вопроса? Почему вы даже хотите сменить ID? Может быть, это что-то вроде идентификатора клиента?
Ну, я бы сказал, что лучшее решение - это отделить вашу бизнес-логику от вашей технической логики. Часто рекомендуется иметь бессмысленный первичный ключ. Конечно, есть причины против этого, но вы уже знаете, что ваш идентификатор может измениться, я бы сказал, добавьте идентификатор, который не меняется.
В любом случае, если вы не можете добавить бессмысленный идентификатор, который не изменяется, просто сначала удалите объект со старым идентификатором, а затем добавьте новый с новым идентификатором.