[ANN] ODB C++ ORM 2.1.0 released

From: Boris Kolpackov <boris_at_codesynthesis.com>
Date: Tue, 18 Sep 2012 07:16:57 -0500
Message-ID: <ndednbLn1aKk-8XNnZ2dnUVZ8nmdnZ2d_at_supernews.com>


I am pleased to announce the release of ODB 2.1.0.

ODB is an open source 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 of the mapping code.

Major new features in this release:

  • Ability to use accessor/modifier functions and expressions to access data members. In most cases ODB is capable of discovering suitable accessor/modifier functions automatically.
  • Support for virtual (imaginary) data members that can be used to handle the C++ pimpl idiom as well as aggregate or dis-aggregate real data members.
  • Ability to define database indexes on data members. Multi-member indexes as well as indexes with database-specific index types, methods, and options are supported.
  • Support for mapping extended database types, such as geospatial types, user-defined types, collections (arrays, table types, etc.), key-value stores, XML, JSON, etc., to suitable C++ types.
  • The Boost profile library now provides persistence support for the Uuid and Multi-Index container libraries.
  • The Qt profile library now provides persistence support for the QUuid type.
  • Support for generating single (combined) database schema file from multiple C++ header files.

This release also adds support for Visual Studio 2012 and Clang 3.1. Specifically, all the runtime libraries, examples, and tests now come with project/solution files for Visual Studio 2012 in addition to 2010 and 2008.

A more detailed discussion of these features can be found in the following blog post:


For the complete list of new features in this version see the official release announcement:


ODB is written in portable C++ and you should be able to use it with any modern C++ compiler. In particular, we have tested this release on GNU/Linux (x86/x86-64), Windows (x86/x86-64), Mac OS X, and Solaris (x86/x86-64/SPARC) with GNU g++ 4.2.x-4.7.x, MS Visual C++ 2008, 2010, and 2012, Sun Studio 12, and Clang 3.1.

The currently supported database systems are MySQL, SQLite, PostgreSQL, Oracle, and SQL Server. ODB also provides profiles for Boost and Qt, which allow you to seamlessly use value types, containers, and smart pointers from these libraries in your persistent classes.

More information, documentation, source code, and pre-compiled binaries are available from:



        Boris Received on Tue Sep 18 2012 - 07:16:57 CDT

Original text of this message