Клонирование, копирование Entity. Есть штатные механизмы, API?

Есть необходимость создания копий и версий сущностей Entity со всеми вложенными подчинёнными записями @OneToMany. Есть ли какие-то штатные механизмы для реализации этого? Наверняка такой вопрос часто возникает при реализации какого-нибудь документооборота - “Тезис”, например. Или самостоятельно тупо создавать новую запись и копировать все поля + коллекции всех подчинённых записей?

У EclipseLink есть CopyGroup

Посмотрите на метод io.jmix.core.MetadataTools#deepCopy(T)

А есть где посмотреть какие-то примеры использования или более подробная, чем в javadoc, документация?
Интересуют вопросы. Надо ли сохранять после копирования новую Entity или она уже вернётся из метода сохранённая? Есть ли ограничения на глубину вложенности коллекций подчинённых Entity если у них в свою очередь есть свои подчинённые? И.т.п.

  • deepCopy

public T deepCopy(T source)

Makes a deep copy of the source entity. All referenced entities and collections will be copied as well.

  • deepCopy

public void deepCopy(java.lang.Object source, java.lang.Object destination, MetadataTools.EntitiesHolder entitiesHolder)

Copies all property values from source to destination excluding null values.

Во втором варианте не разобрался с третьим параметром, непонятно что это должно быть.