Вопрос небольшой, но довольно популярный — как загрузить объект из базы и сохранить его точную копию, но с другим id?
Решение простое — необходимо загрузить требуемый объект, через Session.get() или запрос, не важно. Затем отсоединить его от persistence context вызовом detach(), сбросить id и сохранить:
1
2
3
4
|
SomeEntity e = session.get(SomeEntity.class, 1);
session.detach(e);
e.setId(null);
session.save(e);
|