Если при удалении копировать запись в другую таблицу. В бд всегда найдётся куча данных, на которые ссылалась запись, придётся эти записи копировать в новую таблицу. Проще сразу использовать envers При мягком удалении не нарушается консистентность данных и нет необходимости создавать новую таблицу для каждой сущности.
У нас записи удалённые остаются в бд чисто чтобы посмотреть что удалено и кто удалил (в рамках статьи). Поэтому нас часть проблем не касается.
Если при удалении копировать запись в другую таблицу. В бд всегда найдётся куча данных, на которые ссылалась запись, придётся эти записи копировать в новую таблицу. Проще сразу использовать envers При мягком удалении не нарушается консистентность данных и нет необходимости создавать новую таблицу для каждой сущности.
Не было задачи хранить всю историю изменений сущности, только кто создал/изменил/удалил.
Отдельно таблицу заводить скажем под 10 сущностей = + 10 таблиц. И в случае чего это дополнительный join
Идентификатор пользователя не информативно