QxOrm

From Wikipedia, the free encyclopedia
Jump to: navigation, search

QxOrm is an Object Rational Mapping persistence framework for C++ with Qt. It supports cross compilation and is available for the platforms Windows 64/32 bit, Linux 64/32 bit and Mac OS.

The QxOrm simplifies the development of database access classes. The most common SQLs operations (CRUD) must not be written manually, they will be generated by the framework. The developer have only to specify the meta objects. Data Access Objects DAOs have many methods to create, read, update or insert new entities. QxOrm uses a reflection mechanism to keep content of relations, properties, validators, primary keys and many other informations.

Features[edit]

  • Support for recursive saving of entities.
  • Save methods, which decide by itself if the entity have to be inserted or updated.
  • Trigger Methods, before/after insert/update/create/delete, where special logic can be done.
  • Reading of entities with free configurable relations in one statement.
  • Supported databases: Postgres, MySQL, Oracle, MS SQL, SQLite.
  • QxEntityEditor (EE), a graphical interface for modelling entities and relations for the QxOrm framework.

QxEntityEditor (EE)[edit]

A graphical editor for designing c++ classes, relations and enums for using the QxOrm framework. An import function of an existing database model is available, so a database driven development is supported.

Features[edit]

  • Customizable

The EE is very flexible. The customizations can be made at various points by injecting .js scripts. E.g. before/after import from DB or before/after c++ file generation. In the script you have access to most of the functionality to be able to modify the default behavior. The EE holds his data in a SQLite database. The dabase of EE is also modifyable by scripting.

  • Debugging

A debugger for the .js is integrated.

Licensing[edit]

There are two licensing models

  • GNU/GPLv3 license.
  • Proprietary license without restrictions to GNU/GPLv3.

Author[edit]

QxOrm is developed by Lionel Marty.

References[edit]