Как обновить первичный ключ в Java Hibernate - PullRequest
5 голосов
/ 05 августа 2011

Я работаю над архитектурой Mvc, у меня есть объект pojo, я хочу изменить первичный ключ, пожалуйста, вы можете мне помочь Первичный ключ varchar Пример:

Users users=usersDao.load("mark")

Ответы [ 2 ]

13 голосов
/ 05 августа 2011

Вы никогда не должны изменять значение первичного ключа. Первичный ключ определяет личность объекта. Hibernate или любая другая реализация JPA не может идентифицировать объект как тот же объект, если первичный ключ был изменен. Если первичный ключ может быть изменен, вы должны либо выбрать другой первичный ключ, либо создать суррогатный ключ.

Обходной путь к

  1. Удалить существующий объект
  2. Сохранить объект еще раз с другим значением первичного ключа.
0 голосов
/ 05 августа 2016

как я понимаю, вам нужно напрямую попробовать SQL / JDBC. И затем каким-то образом попытаться сделать объект недействительным из внутреннего состояния гибернации и всех кэшей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...