Существует старая база данных, которую нужно перенести на новую, но процесс портирования займет значительное время, в течение которого старая БД будет работать.
В старой БД идентификаторы - это последовательные числа, в новой нам нужны глобально уникальные идентификаторы, которые в случае гибернации мы собираемся (или собирались) генерировать с использованием встроенного в UUID поколения hibernate. Я понятия не имею, как это работает (UUID hibernate), и не знаю, совпадает ли это с родным UUID поколения java. На самом деле hibernate предоставляет 2 стратегии генерации uuid (uuid и uuid2).
Проблема в том, что если мы используем генерацию гибернаций, возможно, что будет конфликт между сгенерированными идентификаторами гибернации и идентификаторами, поступающими из старой БД, пока она еще работает. Мы собираемся написать ряд процедур оракула, которые помогут нам «разумно» перенести идентификаторы из старой базы данных в новую, но какой метод генерации идентификаторов мы должны использовать в этих процедурах, чтобы у нас не возникало коллизий идентификаторов с созданными идентификаторами в спящем режиме?
Мы можем использовать встроенный в Oracle генератор GUID или написать процедуру в java и использовать собственный генератор UUID java. Но нигде не написано, что эти 2 не приведут к конфликтам с сгенерированными идентификаторами в спящем режиме.