Из JPA 1.0 Спецификация:
Новый экземпляр объекта становится одновременно управляемым и постоянным, вызывая для него метод persist или каскадную операцию persist.Семантика операции persist, применяемой к объекту X, выглядит следующим образом:
Если X является отсоединенным объектом, EntityExistsException может быть выброшено при вызове операции persist или EntityExistsExceptionили другое исключение PersistenceException может быть выдано во время сброса или фиксации.
Если вы хотите просто изменить первичный ключ, а объект является управляемым объектом, то просто измените его значения, и как только транзакция закончится,значения будут сохранены автоматически.Другим способом является изменение значений и явный вызов метода merge .
Но если вам нужно создать новый объект с такими же свойствами извлеченного объекта и сохранить извлеченный объект без измененийсначала вам нужно получить объект, затем создать новый объект и скопировать свойства из полученного объекта в новый объект, а после этого вызвать метод persist для нового объекта.Вы можете использовать метод BeanUtils.copyProperties , чтобы скопировать свойства из исходного объекта в целевой объект, или вы можете сделать это самостоятельно.