QxOrm est une librairie C++ disponible sous licence LGPL.
Remarque : si le lien ci-dessus ne fonctionne pas, vous pouvez essayer de télécharger QxOrm en cliquant ici.
QxOrm est dépendant des excellentes librairies
boost (compatible à partir de la version 1.38) et
Qt
(compatible à partir de la version 4.5.0).
Vous devez donc télécharger et installer ces 2 librairies avant de pouvoir utiliser QxOrm.
|

QxOrm library has been accepted into the Qt Ambassador Program
|
 |
boost : de nombreux modules de la
librairie boost font partie de la nouvelle norme C++.
C'est une librairie reconnue pour sa qualité, son code 'C++
moderne', sa documentation, sa portabilité, etc...
QxOrm utilise les fonctionnalités suivantes de boost :
smart_pointer, serialization, type_traits,
multi_index_container, unordered_container, any, tuple,
foreach, function.
Il est conseillé d'installer et d'utiliser la dernière version
de boost disponible à l'adresse suivante : http://www.boost.org/ |
 |
Qt : bibliothèque complète : IHM
(QtGui), réseau (QtNetwork), XML (QtXml), base de données
(QtSql), etc...
La documentation est excellente et le code C++ écrit à partir
de cette bibliothèque est à la fois performant et simple de
compréhension.
Depuis le rachat par Nokia et sa nouvelle licence LGPL, Qt est
sans contexte la bibliothèque phare du moment.
QxOrm est compatible avec les principaux objets définis par Qt
: QObject, QString, QDate, QTime, QDateTime, QList, QHash,
QSharedPointer, QScopedPointer, etc...
Il est conseillé d'installer et d'utiliser la dernière version
de Qt disponible à l'adresse suivante : http://qt.nokia.com/ |
Historique des modifications de la librairie QxOrm :
Changes in version 1.1.8:
- QxOrm library can now be used on Mac (thanks very much to Dominique Billet) : see 'osx_build_all_debug.sh' and 'osx_build_all_release.sh' scripts to build QxOrm library and all samples in './test/' directory
- Add 'qx::QxSession' class : define a session to manage automatically database transactions (using C++ RAII), see the FAQ for more details
- Add 'qx::QxDateNeutral', 'qx::QxTimeNeutral' and 'qx::QxDateTimeNeutral' classes : helper classes to store date-time value into database under neutral format => cross database compatibility
Changes in version 1.1.7:
- Add soft delete behavior : see the FAQ (How to define a soft delete behavior ?) for more details about this new feature
- Add functions into namespace 'qx::dao' to update an element with a SQL condition : update_by_query, update_optimized_by_query, etc.
- Fix a bug when QVariant type is used for a property of a persistent class : so, it's now possible to insert NULL value into database
Changes in version 1.1.6:
- QxOrm library online documentation available : 'http://www.qxorm.com/doxygen/index.html'
- Possibility to disable QtGui dependency using compilation option in 'QxConfig.h' file : _QX_ENABLE_QT_GUI_DEPENDENCY
- Possibility to disable QtNetwork dependency (so QxService module too) using compilation option in 'QxConfig.h' file : _QX_ENABLE_QT_NETWORK_DEPENDENCY
- Provide a new macro to register abstract class into QxOrm context : QX_REGISTER_ABSTRACT_CLASS()
Changes in version 1.1.5:
- New feature available : 'QxService' module to create C++ application server
- 'QxService' provides an easy and powerful way to create services and to transfer data over network
- New tutorial available to explain how 'QxService' module works
- New sample available at './test/qxClientServer' directory
- QxOrm can be built with 'CONFIG += no_keywords' flag in '*.pro' files
- Bug fix with 'qx::dao::create_table<>' function and relation 'many-to-many'
- QxOrm should now build fine with GCC <= 4.2
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/qxBlogCompositeKey/'
- 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
Changes in version 1.1.3:
- This version works fine with MinGW on Windows
Changes in version 1.1.2:
- License LGPL
- Fix compilation problems on Linux and boost > 1.38
- Fix sql query with MySql database
- Disable assert when qx::dao functions return an error
Changes in version 1.1.1:
- This version supports Visual Studio 2010
Changes in version 1.1.0:
- First release
|
|