2013-08-25 4 views
0

Я ищу, чтобы использовать Envers для обработки аудитов в моем приложении. У меня много вариантов использования, поэтому я ограничен тем, что у меня есть один RevisionEntity, который представляет все мое приложение в игре (в противном случае я думаю, что решение этого было бы намного проще с несколькими объектами). В принципе, я хочу отслеживать несколько экземпляров объекта как часть одной и той же ревизии и в идеале даже другие объекты как часть этой ревизии.Hibernate Envers - проверка нескольких объектов вместе

В принципе, вставка одного объекта (родительского элемента) должна инициировать начало ревизии, необходимо включить обновления для одного объекта, а также включить или добавить в него третью сущность (в этой одной ревизии).

Для этого требуется специальная стратегия? Я собираюсь сломать стратегию моих существующих сущностей или мне нужно иметь проверку if/else?

ответ

0

Каждая ревизия фиксирует изменения, выполненные в одной транзакции и не настраиваемые; также всегда существует единственный объект ревизии.

Идея состоит в том, что база данных находится в «согласованном» состоянии всегда перед транзакцией и после совершения транзакции. И это состояние, которое Envers хочет захватить.

Поэтому, если вы изменяете несколько объектов в одной транзакции, все они будут записаны в одной ревизии.