Короткий ответ, Envers будет работать без определения внешних ключей.
Главное предостережение здесь заключается в том, что все это предполагает, что сохраняемые данные остаются согласованными между связанными строками, как если бы внешний ключ былопределены.
В случае вставки или удаления данных аудита из таблиц аудита, которые в противном случае обычно делают недействительным внешний ключ и генерируют исключение нарушения ограничений, все гарантии аннулируются.
Цель внешнего ключа - гарантировать целостность данных между связанными строками.Без них вы никогда не будете знать, когда операция нарушает эту директиву, и к тому времени, когда вы заметите проблему, ваша целостность данных может быть настолько подорвана, что может быть лучше просто начать с нуля.
Хотя Энверс (икак правило, большинство приложений) могут работать без определений FK, вы должны использовать их, поскольку они буквально являются краеугольным принципом в любой среде реляционных баз данных.