Что-то не так с вашим дизайном.
Если вам нужно инициализировать их внутри перехватчика (я подозреваю, что Envers работает, перехватывая вызовы гибернации), это означает, что вам нужно знать о вашей доменной модели заранее.Аудит должен быть полностью независимым от моделирования предметной области.
Сказав это, вы можете свернуть свой собственный инициализатор, используя какой-то общий метод отражения для итерации коллекции, или вы можете использовать Open-Session-In-Просмотреть шаблон и адаптировать его для работы с Envers (т. Е. Внутри вашего перехватчика).
Имейте в виду, что доступ к этим элементам, вероятно, вызовет другие запросы, что может привести к путанице при анализе журналов.
Редактировать : Похоже, что в спящем режиме есть профили выборки, которые позволяют выбирать план выборки во время выполнения.См. Этот SO вопрос и документы .