Projects / odb

odb

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
Licenses
Operating Systems
Implementation
Translations

RSS Recent releases

  •  02 May 2012 23:10

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.

  •  31 Jan 2012 22:14

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.

  •  07 Dec 2011 23:50

Release Notes: Major new features in this release are support for the Oracle database, including updates to the Boost and Qt profiles, support for optimistic concurrency using object versioning, support for read-only/const data members, support for persistent classes without object ids, and support for SQL statement execution tracing.

  •  04 Oct 2011 15:52

Release Notes: The major new feature in this release is the introduction of the view concept. A view is a read-only projection of one or more persistent objects or database tables or the result of a native SQL query execution. Other important features in this release include support for deleting persistent objects using a query expression, support for the NULL semantics with mapping to smart pointers, odb::nullable, or boost::optional, and support for mapping BLOB types to std::vector<char>.

  •  26 Jul 2011 14:02

Release Notes: Major new features in this release are support for PostgreSQL, including updates to the Boost and Qt profiles, support for per-class database operations callbacks, a new NULL handling mechanism, as well as the ability to specify database default values and additional column definition options.

Screenshot

Project Spotlight

Highlight

A universal source code to formatted text converter.

Screenshot

Project Spotlight

KXStitch

A cross stitch pattern creator.