Important: Please read the Qt Code of Conduct -

QxOrm 1.4.3 and QxEntityEditor 1.2.1 released : support CMake and new QxEntityEditor documentation

  • Hello,

    QxOrm library 1.4.3 and QxEntityEditor application 1.2.1 just released !
    The Qt ORM library now supports CMake and provides a new QxEntityEditor documentation.

    QxOrm library 1.4.3 changes log :

    • Support CMake : new CMakeLists.txt file added to build QxOrm library with CMake
    • Improve SQL error messages when qx::dao functions return a database error
    • New parameter in singleton class qx::QxSqlDatabase to log SQL bound values (setTraceSqlBoundValues) : by default, bound values are logged when an error occurred
    • New syntax to select columns to not fetch : -{ col_1, col_2, etc... }
    • New function qx::dao::call_query_without_prepare() to execute specific SQL queries without prepared statement
    • Improve QxModelView module : all QxOrm models (based on qx::IxModel interface) can be serialized to JSON format (including all relationships levels) : this is now another way to work with relationships and QML (thanks to JSON.parse() and JSON.stringify() javascript functions) without using nested models concept (so without using QxEntityEditor model/view generated classes)
    • Improve qxBlogModelView sample project and QxOrm manual to show how to access to relationships data in QML (nested models or JSON)
    • Fix a memory leak in qx::QxSqlRelation class
    • Reduce output binary size (~20%) and compilation times (~20%) to build persistent classes based on QxOrm library
    • Support unity build concept to reduce compilation times to build QxOrm library and C++ persistent classes generated by QxEntityEditor application : for more details, see _QX_UNITY_BUILD compilation option in QxOrm.pri or QxOrm.cmake configuration file
    • Improve QxConvert module : possibility to store in database complex QVariant properties which contain QVariantMap, QVariantHash or QVariantList types (JSON format)
    • Fix an issue with some databases when a foreign key is also a part of the primary key
    • Fix an issue with QSharedPointer and boost::serialization when a same raw pointer is shared by several QSharedPointer during deserialization process

    QxEntityEditor application 1.2.1 changes log :

    • Support CMake : each C++ project generated by QxEntityEditor (persistent classes, services, model/view) provide a CMakeLists.txt file to build with CMake
    • New online QxEntityEditor manual (user guide) available at :
    • Improve Javascript engine to customize export generated files : add a parameter named 'output_location' to know where generated files are located + add functions to get a list of all entities/enums of a project (see ./samples/custom_script.js file for more details)
    • Improve database import process (SQLite, MySQL/MariaDB, PostgreSQL, Oracle and MSSQLServer) : fix an issue importing composite foreign keys + foreign keys embedded in primary key ==> so it is now possible to import more complex database schema
    • Improve DDL database schema export process : fix an issue with 1-1 relationship + manage composite keys
    • New menu "Naming convention" to provide a fast way to rename all entities/properties/enums (without breaking mapping to database) : support snake_case, camelCase and PascalCase (or upper camel case), this new menu can be useful after an import from database process for example
    • Each screen of QxEntityEditor provides now a fast access to the online manual (user guide) in its associated topic (new button "Documentation" + shortcut pressing F1 key everywhere)
    • New buttons undo/redo in the main QxEntityEditor toolbar to undo or redo actions done on entities, enumerations, comments, layout (undo/redo feature can be disabled to improve performance on large projects)
    • Support _QX_UNITY_BUILD compilation option to reduce compilation times of generated C++ projects (recommended with CMake which doesn't support natively precompiled headers)
    • Fix an issue importing a relationship where target entity doesn't have a primary key
    • Fix an issue with C++ services export plugin and JSON serialization : "Unable to create nude pointer for input parameter"
    • Fix an issue with abstract entities and C++ model/view export plugin and C++ services export plugin
    • Possibility to put hexadecimal values to define an enumeration
    • New Javascript sample file in directory ./samples/ named q_property.js to show how to add automatically Q_PROPERTY definition for each property generated by QxEntityEditor

    alt text

    You can download latest version of QxOrm library and QxEntityEditor application on QxOrm website.