По моему опыту, Энверс просто копирует каждое поле из вашей таблицы сущностей в свои таблицы аудита. Скопированные поля в таблицах аудита не имеют никаких ограничений, включая обнуляемость и ограничения внешнего ключа, поэтому нет проблем с добавлением или удалением таких ограничений в реальных таблицах. Любые виды отношений, которые вы добавляете к своим сущностям, будут просто новыми столбцами аудита и / или таблицами, добавленными в Envers, и вы должны правильно интерпретировать их в их историческом контексте.
Для вашего примера, если я правильно понимаю, при переключении с отношения на основе столбца соединения на соединение на основе таблицы соединения у вас просто будет старый столбец соединения, сосуществующий с таблицей соединения, и в этот момент Первого перестанут заселять в пользу второго. Ваша история будет полностью сохранена, включая тот факт, что вы сделали этот переход. Если вы хотите, чтобы все старые данные вписывались в новую модель в таблицах аудита, вы должны выполнить миграцию.