I am pleased to announce the release of ODB 2.4.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:
* Support for bulk operations in Oracle and SQL Server. Bulk operations
can be used to persist, update, or erase a range of objects using a
single database statement execution which often translates to a
significantly better performance.
* Ability to join and load one or more complete objects instead of, or
in addition to, a subset of their data members with a single SELECT
statement execution (object loading views).
* Support for specifying object and table join types in views (LEFT,
RIGHT, FULL, INNER, or CROSS).
* Support for calling MySQL and SQL Server stored procedures.
* Support for defining persistent objects as instantiations of C++ class
A more detailed discussion of these features can be found in the following
ODB is written in portable C++ (both C++98/03 and C++11 are supported) 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/ARM), Windows (x86/x86-64),
Mac OS X (x86/x86_64), and Solaris (x86/x86-64/SPARC) with GNU g++ 4.2.x-5.x,
MS Visual C++ 2005, 2008, 2010, 2012, and 2013, Sun Studio 12u2, and Clang 3.x.
The currently supported database systems are MySQL, SQLite, PostgreSQL,
Oracle, and SQL Server. ODB also provides optional 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