
La bibliothèque QxOrm 1.4.8 et l'application QxEntityEditor 1.2.6 viennent de sortir avec le support de Qt6 et le pattern C++ PIMPL (Private Implementation ou d-pointer) pour les classes persistantes.
Modifications apportées à la bibliothèque QxOrm 1.4.8 :
- Support de Qt6 (testé avec MSVC 2019 et CMake 3.19 sous Windows) ==> la bibliothèque QxOrm est à présent compatible avec Qt4, Qt5 et Qt6 ;
- Support du pattern C++ PIMPL pour les classes persistantes enregistrées dans le contexte QxOrm (utile pour réduire les temps de compilation, assurer une compatibilité binaire, réduire la taille des binaires générés) ;
- Ajout dans la documentation de QxOrm d'un sujet sur le pattern PIMPL pour les classes C++ persistantes ;
- Nouveau projet d'exemple nommé qxBlogPImpl dans le dossier ./test/ du package QxOrm pour montrer comment implémenter des classes C++ persistantes avec le pattern PIMPL (ou d-pointer) ;
- Possibilité d'ignorer le comportement Soft Delete durant le temps d'exécution d'une session (utile par exemple pour récupérer des instances supprimées logiquement en base de données) : qx::QxSession::ignoreSoftDelete() ;
- Corrige le mot clé SQL DISTINCT dans la classe qx::QxSqlQuery (quand DISTINCT est utilisé, alors la clé primaire n'est plus récupérée) ;
- Corrige un problème de compilation qui pouvait se produire en activant l'option _QX_ENABLE_QT_NETWORK (à cause des définitions de QT_NO_SSL/QT_NO_OPENSSL utilisées dans le fichier QxThread.cpp) ;
- Corrige un problème dans la classe qx::QxSqlDatabase en contexte multi-thread lorsqu'un identifiant de thread est réutilisé (GitHub #42) ;
- Ajout d'un nouveau comportement à la classe qx::QxSession avec l'option setAutoRollbackWhenDestroyed() : un rollback de la base de données peut être appelé automatiquement à la destruction d'une instance de session (ou la méthode close()) (au lieu d'un commit par défaut, GitHub #43).
Modifications apportées à l'application QxEntityEditor 1.2.6 :
- Support du pattern PIMPL (Private Implementation ou d-pointer) dans le plugin d'export C++ ;
- Documentation de QxEntityEditor sur le pattern PIMPL pour les classes C++ persistantes ;
- Corrige l'import des schémas de bases de données avec les versions PostgreSQL 12 et supérieures ;
- Corrige des problèmes d'assertions sur les versions macOS et linux de QxEntityEditor à cause de la compilation de la bibliothèque libavoid sans l'option NDEBUG (devrait également améliorer les performances de QxEntityEditor) ;
- Ajout de la commande CMake 'target_precompile_headers' pour la génération des fichiers CMakeLists.txt pour supporter la notion d'en-tête pré-compilés (precompiled headers) pour réduire les temps de compilation des projets C++ générés avec QxEntityEditor.

Vous pouvez télécharger ces nouvelles versions sur le site internet de QxOrm et QxEntityEditor.
La bibliothèque QxOrm est également disponible sur GitHub.
Vous avez lu gratuitement 15 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.