Мне нужно сохранить историю изменений данных в моей базе данных. Изменения не будут очень распространены, поэтому кажется, что хранить всю строку, а не просто diff, будет более эффективной с точки зрения пространства. Hibernate envers выглядит как достойное решение.Можно ли запретить Hibernate Envers хранить объект в таблице аудита, если он не изменен.
Теперь я замечаю, что таблица аудита больше похожа на теневую таблицу, которая будет хранить данные на первой вставке. Возможно ли предотвратить запрет хранения информации аудита до момента первого обновления. Я просто хочу уменьшить дисковое пространство базы данных, так как я не могу работать на очень высокопроизводительном сервере. Я хочу, чтобы фактическая таблица содержала самые последние данные, а таблица аудита содержала только исторические данные, а не текущую строку. Я не использую какую-либо конкретную конфигурацию в моем persistence.xml. Hibernate 4.1, похоже, находит классы для аудита с аннотациями. Я думаю, что я должен иметь дело с слушателями вставки вставки, но не уверен, что я должен с этим делать.
Вы выяснили способ сделать это? Я пытаюсь добиться чего-то подобного, но я не хочу сохранять какие-либо данные, я просто хочу знать, когда объект был создан/изменен/удален. Цените, если вы можете поделиться своим опытом. – Vikram
Нет, я не ... пока я решил жить с этим ограничением. Некоторые ссылки, которые могут вам помочь: http://stackoverflow.com/questions/12800540/hibernate-envers-how-to-store-only-updated-values –
http://docs.jboss.org/hibernate/core /4.0/devguide/en-US/html/ch15.html#d0e5519 –