В настоящее время мы используем Oracle 10g для внутреннего проекта, и это вряд ли изменится, но в конечном итоге мы собираемся предложить это приложение другим клиентам, и нам необходимо предложить альтернативную бесплатную БД.
Так, каков наилучший способ сделать уровень персистентности Hibernate независимым от используемой основной СУБД?В идеале я хотел бы иметь возможность просто изменить URL-адрес JDBC и используемый диалект и переключаться между (по крайней мере) Oracle 10g и MySQL или PostgreSQL.
Основная проблема связана со стратегией генерации идентификатора.В настоящее время мы используем генераторы на основе последовательностей для наших идентификаторов, по одной последовательности на таблицу.Очевидный шаг, похоже, переключается на «родную» стратегию.Но тогда это будет одна уникальная последовательность для всех таблиц?Что будет с существующими данными в нашей производственной системе, работающей на Oracle?Как мигрировать?Что такое ловушки?
Что еще нужно знать при переключении с одной СУБД / диалекта на другую?