orm — поддержка C ++ ODB разных СУБД

Я смотрел на ODB ORM в течение некоторого времени и имел некоторую практику с этим. Моя проблема заключается в переключении между различными СУБД, перекомпилируя код. Исходя из своего фона Java, я могу просто изменить файл конфигурации, и ORM работает, например, Hibernate. На этом этапе я могу скомпилировать пример ‘hello’ в ‘odb-examples-2.2.0.tar.gz’ и успешно подключиться к MySQL и PostgreSQL.

Пожалуйста, поделитесь вашими способами решения этой проблемы. Примеры кода также будут очень полезны. Я хотел бы просто изменить базы данных, скажем, изменение файла конфигурации. Это далеко, ссылаясь на руководство еще не помогло. Моя система должна быть кроссплатформенной.

Благодарю.

1

Решение

Если вам достаточно динамической поддержки, то следующее пример сделает свое дело.
Следующая командная строка необходима перед компиляцией других файлов:

odb --std c++11 --multi-database dynamic -d common -d mysql -d sqlite \
--generate-query --generate-schema person.hxx

В моем примере я использую командную строку, как они делали в руководстве (2.10). Из того, что я прочитал, пока вы используете odb :: query, odb :: транзакция, вам не нужно делать ничего особенного для работы с несколькими базами данных.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]