Я смотрел на ODB ORM в течение некоторого времени и имел некоторую практику с этим. Моя проблема заключается в переключении между различными СУБД, перекомпилируя код. Исходя из своего фона Java, я могу просто изменить файл конфигурации, и ORM работает, например, Hibernate. На этом этапе я могу скомпилировать пример ‘hello’ в ‘odb-examples-2.2.0.tar.gz’ и успешно подключиться к MySQL и PostgreSQL.
Пожалуйста, поделитесь вашими способами решения этой проблемы. Примеры кода также будут очень полезны. Я хотел бы просто изменить базы данных, скажем, изменение файла конфигурации. Это далеко, ссылаясь на руководство еще не помогло. Моя система должна быть кроссплатформенной.
Благодарю.
Если вам достаточно динамической поддержки, то следующее пример сделает свое дело.
Следующая командная строка необходима перед компиляцией других файлов:
odb --std c++11 --multi-database dynamic -d common -d mysql -d sqlite \
--generate-query --generate-schema person.hxx
В моем примере я использую командную строку, как они делали в руководстве (2.10). Из того, что я прочитал, пока вы используете odb :: query, odb :: транзакция, вам не нужно делать ничего особенного для работы с несколькими базами данных.
Других решений пока нет …