Я думаю о переключении с самоприведенного решения для версии в Hibernate Envers, но я пока не совсем уверен. Я много читал об этом, но меня беспокоят изменения схемы и то, как Envers справляется с ними после того, как они историзировали данные в соответствии со старой схемой.
Каков ваш опыт работы с Envers в этом отношении? Как вы обрабатываете изменения схемы и существующие данные с помощью Envers?
Обновление 1:
Это не просто добавление удаления простых столбцов из таблицы, но, например, при изменении простого отношения Forein-Key в отдельный объект с двумя 1: n-отношениями (M2M с атрибутными столбцами. Это "логическое" изменение в вашей модели данных. Как вы справляетесь с этим при использовании Envers, когда это уже историзированные данные в соответствии со старой моделью? Есть ли альтернатива ручному написанию sql-скриптов и перенос их в новое представление?