QxOrm 1.1.4 released
-
Hi,
QxOrm is a new open source ORM (Object Relational Mapping) C++ library designed to provide :
- Persistence (based on QtSql Qt module)
- Serialization (xml and binary, based on boost::serialization)
- Reflection (invoke class methods and access to properties)
QxOrm has been tested on Windows (Visual C++ 2008, 2010 and MinGW) and Linux (GCC 4.4.1).
QxOrm is based on a simple and non intrusive 'setting function' (that can be compared with Hibernate xml mapping file).
A quick sample (and a tutorial) is available on this web site : http://www.qxorm.com
Changes in version 1.1.4:
- New parameter in functions 'qx::dao::fetch_by_id', 'qx::dao::fetch_all', 'qx::dao::fetch_by_query' and 'qx::dao::update' to define a list of properties to fetch/update (by default, all properties are fetched/updated)
- Support multi-columns primary key (composite key) : see sample './test/qxBlog_composite_key/'
- Improve strategy of inheritance : QxOrm supports 'Concrete Table Inheritance' strategy ('Concrete Table Inheritance' becomes default strategy)
- New smart-pointer 'qx::dao::ptr<T>' based on Qt 'QSharedPointer<T>' to provide 2 new features : 'is dirty' and 'update optimized'
- 'qx::dao::ptr<T>' can be used with a simple object and with many containers (stl, boost, Qt and 'qx::QxCollection' containers)
- 'qx::dao::ptr<T>' keeps original values from database and provides a 'isDirty()' method to retrieve all properties changed
- 'qx::dao::update_optimized' must be used with 'qx::dao::ptr<T>' to save into database only properties changed