Как склонировать объект в Hibernate

Вопрос небольшой, но довольно популярный — как загрузить объект из базы и сохранить его точную копию, но с другим id?

Решение простое — необходимо загрузить требуемый объект, через Session.get()  или запрос, не важно. Затем отсоединить его от persistence context вызовом  detach(), сбросить id и сохранить:

SomeEntity e = session.get(SomeEntity.class, 1);
session.detach(e);
e.setId(null);
session.save(e);
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *