Использовать таблицы ревизий для хранения бизнес-данных?

Мы используем Hibernate Envers в нашем проекте для хранения полной ревизии всех наших таблиц базы данных.

Вы бы посоветовали использовать эти теневые таблицы для извлечения бизнес-данных (например, creationDateTime/modifyDateTime/business "history" сущности) или было бы гораздо лучше интегрировать бизнес-данные в бизнес-сущность (каким-то образом дублируя ее Конечно, как теневые таблицы также хранят, например, время создания) и просто позволяют envers работать свое волшебство?

Пожалуйста, имейте в виду, что доступ и получение из таблиц envers иногда не являются наиболее эффективными.

Заранее спасибо!

1 ответ

Решение

Основной вариант использования Envers предназначен для аудита данных, поэтому ведение учета изменений, а не обязательно бизнес-функций. Однако, если характеристики производительности хорошие (в таком случае я бы порекомендовал использовать стратегию аудита достоверности), я не понимаю, почему бы вам не использовать встроенную версию, предоставляемую Envers.

Другие вопросы по тегам