Subject: [boost] [ANN] ODB C++ ORM 2.0.0 released, adds support for C++11, polymorphism
From: Boris Kolpackov (boris_at_[hidden])
Date: 2012-05-02 09:01:55
I am pleased to announce the release of ODB 2.0.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.
ODB provides a Boost profile which allows you to seamlessly use value types
(date_time), containers (optional, unordered), and smart pointers (shared_ptr,
weak_ptr) from Boost in your persistent classes.
Major new features in this release:
* Support for C++11 which adds integration with the new C++11 standard
library components, including smart pointers and containers. Now you
can use std::unique_ptr and std::shared_ptr as object pointers (their
lazy versions are also provided). For containers, support was added
for std::array, std::forward_list, and the unordered containers.
* Support for polymorphism which allows you to persist, load, update,
erase, and query objects of derived classes using their base class
interfaces. Persistent class hierarchies are mapped to the relational
database model using the table-per-difference mapping.
* Support for composite object ids which are translated to composite
primary keys in the relational database.
* Support for 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.
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
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 and 2010, Sun Studio 12, and
Clang 3.0. The currently supported database systems are MySQL, SQLite,
PostgreSQL, Oracle, and SQL Server.
More information, documentation, source code, and pre-compiled binaries are
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk