гибернация или оракула поддержка сроков? - PullRequest
3 голосов
/ 18 мая 2011

У нас есть требование для сохранения, с использованием версионных Java-объектов Hibernate, в базу данных Oracle, чтобы каждая версия имела метку времени начала и срока действия.Это делается для того, чтобы мы могли запрашивать объекты в определенное время.

Предоставляет ли Hibernate или Oracle 11g (или что-либо еще) что-нибудь, что упростит это?

Ответы [ 2 ]

3 голосов
/ 18 мая 2011

Если у вас есть Oracle Enteprise Edition, вы можете создать архив флэшбэка для рассматриваемой таблицы, а затем, используя обычный SQL, вы можете сделать SELECT * FROM table_name AS OF timestamp

Oracle будет управлять всем в фоновом режиме, как только ваш архив воспоминаний будет создан.

Некоторые подробности приведены в руководстве:

http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17125/adfns_flashback.htm#ADFNS01011

2 голосов
/ 18 мая 2011

Посмотрите на Hibernate Envers

Проект Envers направлен на обеспечение легкого аудита / контроля версий постоянных классов . Все, что вам нужно сделать, это аннотировать ваш постоянный класс или некоторые его свойства, которые вы хотите проверять, с помощью @Audited. Для каждого проверяемого объекта будет создана таблица, в которой будет храниться история изменений, внесенных в объект. Вы можете без особых усилий извлекать и запрашивать исторические данные .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...