Oracle Flashback Query с Hibernate - PullRequest
       0

Oracle Flashback Query с Hibernate

1 голос
/ 23 марта 2011

Я должен использовать Oracle Flashback Queries в своем Java-приложении.Мы используем Hibernate для сохранения данных, поэтому я хотел бы знать, есть ли способ включить эту функцию в Hibernate.
Конечно, я могу использовать SQL-запросы Hibernate, но это не идея.

1 Ответ

0 голосов
/ 22 ноября 2018

Пока что Hibernate не поддерживает эту функциональность нативным способом (насколько я знаю), но с упомянутым ENABLE_AT_TIME Oracle calll вы действительно сможете добиться того,ты хочешь. Будьте осторожны! это включит "машину времени" для всего сеанса (что может привести к интересному поведению в случае пула соединений).Вот полный пример правильного использования:

EXECUTE dbms_flashback.enable_at_time('30-AUG-2000');
--your queries go here
SELECT salary FROM emp where name = 'Joe'
EXECUTE dbms_flashback.disable;

Eclipselink - это то, что поддерживает ("history.as-of") решение as of timestamp,но вы должны установить его как hint.Например:

//...
query.setHint("eclipselink.AS_OF", "2012/10/15 11:21:18.2");
//...

Или вы можете сделать это с помощью аннотации:

//...
@QueryHint(name=QueryHints.AS_OF, value="2012/10/15 11:21:18.2");
//...

Если вы придерживаетесь Hibernate , вы должны взглянуть на встроенный аудитс аннотацией @Audit.https://docs.jboss.org/envers/docs/

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