2013-06-27 8 views
1

Наша команда застряла на выбор между Hibernate Envers и Spring AOP. В принципе, мы хотели бы провести аудит транзакций базы данных, особенно когда пользователь удаляет объект из базы данных. Однако мы не хотим проверять все таблицы. Мы понимаем, что с Spring AOP мы можем использовать это как сквозную проблему, и всякий раз, когда в DAO выполняется метод delete(), мы можем записать удаление. Наш вопрос: Является ли Hibernate Envers более легким и более подходящим для этой проблемы или является Spring AOP приемлемым решением? Любое направление, с некоторыми доказательствами, было бы очень оценено нашей командой.Hibernate Envers vs Spring AOP

ответ

2

Я только что начал использовать Hibernate Envers для аудита, и до сих пор я очень доволен этим. Плюсы:
1. Нам буквально не нужно писать одну строку кода.
2.It также автоматически фиксирует имя пользователя и временную метку через RevisionEvent, что очень просто для настройки.
3. код следует за аннотациями JPA, а не спящим.
4.Well, если кто-то использует спящий режим, то почему бы не использовать всю его функцию.
5.Эта функция (Envers) разработана специально для сбора аудита. Люди постоянно работают над обновлением и делают его более удобным для пользователя.
6. Может написать собственные слушатели событий, например, для обновления, удаления, вставки и т. Д .:
Против:
1. Создает множество таблиц AUD_. Однако мы можем настроить таблицу, которую мы хотим использовать для AUDIT.
2.It никогда не будет захватывать запросы HQL автоматически.

+1

Можете ли вы прокомментировать синхронное/асинхронное поведение аудита Envers? –