У меня есть таблица под названием «Выбор».Эта таблица связана с множеством других таблиц, скажем, один ко многим с таблицами A, B, C и так далее.Пользователь хочет «скопировать» эти варианты и связать все таблицы, чем позже, и хочет просмотреть именно эти значения в пользовательском интерфейсе.(например, просмотр снимка множества записей в определенное время)
Вот что я попробовал:
1) Добавить скопированный флаг в таблицу выбора
Я не хочудобавить флаг «скопировано» в существующую таблицу выбора.Потому что в настоящее время реализовано много запросов, и все они обновляются в соответствии с этим скопированным флагом.Например;У меня есть общее количество элементов в таблице A, которое choices.id = blabla
, но теперь оно должно быть обновлено, как choices.id = blabla and isCopied=false
2) дубликаты выбора и все связанные таблицы
Это также имеет огромные затраты,Мне нужны Copied_Choices (у которых нет точно таких же полей с вариантами выбора) и все другие таблицы, Copied_A, Copied_B и т. Д. Это решает проблему переделки номера 1, но все же не удовлетворяет, потому что либо я создам сущность, контроллер и т. Д. Длякаждая из этих таблиц или я буду использовать наследование, которое может увеличить сложность кода.
3) Пытался использовать Envers с некоторыми корректировками.Еще нужно дублировать таблицы, но, надеюсь, hibernate будет обрабатывать объекты.Но это не соответствует моему требованию, так как действие «копировать» не запускается ни с помощью вставки / обновления / удаления и т. Д. Это просто пользовательское действие.
Что вы предлагаете для этого подхода?
Что вы предлагаете для этого?