I am pleased to announce the release of ODB 1.4.0 with support for Qt.

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.

This release add persistence support for the following Qt components:

Basic types:
* QString
* QByteArray

Date-time types:
* QDate
* QTime
* QDateTime

Smart pointers:
* QSharedPointer
* QWeakPointer

Plus their lazy counterparts:
* QLazySharedPointer
* QLazyWeakPointer

Containers:
* QVector
* QList
* QLinkedList
* QSet
* QMap
* QMultiMap
* QHash
* QMultiHash

With this support we can now automatically persist classes like this:

Qt Code:
  1. #pragma db object
  2. class Employee
  3. {
  4. ...
  5.  
  6. QString first_name_;
  7. QString last_name_;
  8.  
  9. QDate born_;
  10.  
  11. QSet<QString> emails_;
  12. QByteArray publicKey_;
  13.  
  14. QSharedPointer<Employer> employer_;
  15. };
To copy to clipboard, switch view to plain text mode 

A more detailed discussion of this and other new features can be found in
the following blog post:

http://www.codesynthesis.com/~boris/...-4-0-released/

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.5.x, MS Visual C++ 2008 and 2010, and Sun Studio 12.
Qt support has been tested on GNU/Linux, Windows (VC++ 2008 and 2010 as well
as GCC with MinGW), and Mac OS X.

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

http://www.codesynthesis.com/products/odb/

Enjoy,
Boris