Hibernate включает аудит SQL

Мне было интересно, удалось ли кому-нибудь провести аудит собственного запроса (SQL) с помощью Hibernate Envers? Я знаю, что это, вероятно, просто неправильно, но это сэкономит мне много времени на рефакторинг.

Ваше здоровье

Ник


person nicolasl    schedule 29.09.2015    source источник
comment
@adamw какие-нибудь мысли по этому поводу?   -  person nicolasl    schedule 29.09.2015
comment
Что вы имеете в виду под аудитом SQL-запроса?   -  person AppSensei    schedule 05.10.2015
comment
Я имею в виду выполнение вставки с использованием SQL (например, с использованием executeUpdate ()) вместо hibernate.persist / save () ...   -  person nicolasl    schedule 06.10.2015
comment
К сожалению, я не думаю, что это сработает. Я пробовал вставлять / удалять операторы, но они не запускали аудит envers.   -  person AppSensei    schedule 06.10.2015
comment
Это именно моя точка зрения. Я хочу знать, придумал ли кто-нибудь уже какое-то обходное решение, потому что Envers не готов с этим справиться.   -  person nicolasl    schedule 07.10.2015


Ответы (1)


Я просто хочу оставить здесь свои мысли, чтобы другие могли извлечь выгоду, когда они выберут Энверс. Мы пробовали использовать Hibernate envers в одном из наших недавних проектов, и это не сработало. Ниже приведены причины

  1. Hibernate Envers захватывает информацию аудита только тогда, когда обновления происходят через контекст сохранения.
  2. Нам не нравилась одна таблица аудита для каждой сущности. Это было слишком много загрязнения схемы.
  3. У нас есть много пакетных заданий и сценариев синхронизации данных, которые обновляют данные напрямую с помощью sql-запросов. Любое обновление, происходящее вне контекста постоянства, не будет зафиксировано в этих таблицах аудита, созданных Hibernate ENvers.

Итак, мы пошли с оценкой триггера базы данных только с одной таблицей AUDIT, которая будет захватывать table_name, column_name, primary_key, old_value и new_value. У нас это сработало.

person VimalKumar    schedule 12.12.2016