ODB is a compiler-based object-relational mapping (ORM) system for C++. It allows you to persist C++ objects to a relational database without having to deal with tables, columns, or SQL and without manually writing any mapping code. The C++ code that performs the conversion between persistent classes and their database representation is automatically generated by the ODB compiler. The ODB compiler is a real C++ compiler except that instead of producing assembly or machine code, it generates portable C++, which can in turn be compiled by any C++ compiler. ODB is not a framework. It does not dictate how you should write your application. Rather, it is designed to fit into your style and architecture by only handling C++ object persistence and not interfering with any other functionality.
| Tags | C++ ORM Database object relational Mapping |
|---|---|
| Licenses | GPLv2 GPLv3 |
| Operating Systems | Linux Windows Mac OS X Solaris Unix |
| Implementation | C++ |
| Translations | English |
Recent releases


Release Notes: Major new features in this release include multi-database support, prepared queries, change-tracking containers, custom sessions, and automatic mapping for char[N]. This version also adds support for Qt5 in addition to Qt4, and comes with a guide on using ODB with mobile/embedded systems.


Release Notes: This bugfix-only release fixes a number of issues in each database runtime as well as the ODB compiler.


Release Notes: Major new features in this release include the ability to use accessor/modifier functions/expressions to access data members, support for virtual data members, the ability to define database indexes on data members, and support for mapping extended database types, such as geospatial types, user-defined types, and collections. The profile libraries have been updated, with the Boost profile now providing persistence support for the Uuid and Multi-Index container libraries while the Qt profile now includes the QUuid type. Finally, this release adds support for Visual Studio 2012 and Clang 3.1.


Release Notes: Major new features in this release include support for C++11, polymorphism, composite objects IDs (composite primary keys), and the NULL semantics for composite values. This release has also been tested with GCC 4.7 and Clang 3.0, with the ODB compiler now supporting the GCC 4.7 series plugin interface. This release also introduces a free proprietary license for small object models.


Release Notes: Major new features in this release are support for the Microsoft SQL Server database, including updates to the Boost and Qt profiles, support for database schemas (database namespaces), and the ability to define composite value types as C++ class template instantiations.