Пока что 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/