У меня есть две проверяемые сущности, A и B. Сущность A содержит набор сущностей B (помеченных как отношение «один ко многим»). При вставке нового экземпляра A в базу данных все строки A и B имеют одну и ту же ревизию (скажем, ревизию 1). Затем есть обновление для A, которое влияет только на экземпляры объекта B. Таким образом, после обновления объект A все еще находится в версии 1, тогда как объекты B находятся в версии 2 (включая запись MOD в таблице аудита) . В редакции 3 объект A удален. Поскольку коллекция объекта B аннотирована @Cascade, объекты B, принадлежащие A, также удаляются.
Учитывая этот сценарий, как мне создать контрольный запрос с Envers, который получает экземпляр объекта A с обновленными объектами B версии 2? Когда я запрашиваю все версии объекта A, я либо получаю удаленный объект A, который не содержит объектов B (версия 3), либо я получаю A версии 1, которая также содержит объекты B версии 1.
Используя Hibernate 3.6, если это поможет.