QxOrm 1.4.5

QxOrm in Development / Components & Libraries

QxOrm screenshot

User Rating: 3.3 (30 votes)

QxOrm is a C++ library designed to provide Object Relational Mapping (ORM) feature to C++ users.

With a simple C++ setting function by class (like Hibernate XML mapping file), you will have access to the following features :
persistence : communication with a lot of databases (with 1-1, 1-n, n-1 and n-n relationships)
serialization : binary and XML format
reflection (or introspection) : access to classes definitions, retrieve properties and call classes methods

QxOrm aims to simplify C++ development and provides a lot of functionalities.
Here is a list of advantages of QxOrm :
non intrusive : the C++ setting function doesn't modified class definition, QxOrm can be used in existing projects
no code generation
no XML mapping file
classes doesn't need to inherit from a 'super object'
template meta-programming : no macro hack
works with Visual C++ 2008 or 2010 on Windows, GCC 4.4.1 on Linux and Mac OS X, and MinGW on Windows (other platforms will be tested soon : smartphones, etc...)
only one file to include in precompiled-header (need precompiled-header file to reduce compilation times)

QxOrm contains the following modules :

QxDao : based on QtSql engine of Qt, this module allows to communicate (select, update, delete, transaction...) with many databases by mapping each field of a table with properties of a C++ class. The relationships 1-1, 1-n, n-1 and n-n are very easy to setup in C++ code. This module supports object-oriented programming : inheritance, polymorphism, modularity. It supports also a lot of containers (stl, boost and Qt : std::vector, std::list, boost::unordered_map, QList, QHash...).

QxRegister, QxDataMember, QxFactory and QxFunction : QxOrm emulates reflection (or introspection) mechanism (like other languages : Java, C#...).

QxService : based on QtNetwork engine of Qt library, this module provides an easy and powerful way to create C++ application server (services concept with request from client and reply from server). QxService uses serialization and introspection from QxOrm library to transfer over network any class or structure. For more details on QxService module, a tutorial is available here.

QxCollection : based on boost::multi_index_container, this collection has advantages of std::vector (insertion order + quick access by index) and boost::unordered_map or QHash (quick access by a key : hash-map). QxCollection is adapted to contain the elements resulting from a database.

QxSerialize : this module is based on the excellent library boost::serialization. Any class defined by QxOrm can be serialize into binary and XML format. This module also allows to clone all instances of objects. Most of Qt objects (QObject, QString, QDate, QTime, QDateTime, QList, QHash...) are compatible with QxSerialize module.

QxTraits : boost library provides a lot of generic traits. QxOrm uses them but needs new functionalities that are not present in boost.

QxCache : QxOrm's cache can contain all types of objects. It can make it possible for example to memorize data resulting from a database to avoid too frequent requests. This cache is generic and can be used in other contexts than QxOrm.

QxValidator : this module provides a validation engine for classes registered into QxOrm context. To use this validation engine, you have to define your constraints into the mapping function per class : void qx::register_class. If for an instance of class, at least one constraint violation is detected, then the instance is invalid : the object cannot be saved into database (INSERT or UPDATE). For more informations about QxValidator module, goto the FAQ of QxOrm library.

File Size: 14.400390625 MB License: Open Source Price: FREE
Platform: Windows XP, Windows Vista, Windows Vista x64, Windows 7, Windows 7 x64, Windows 8, Windows 8 x64, Windows 10, Windows 10 x64
Downloads: Total: 155 | This Month: 1 Released: 2017-09-06
QxOrm Similar Software

Library .NET 18.7.5479.12252 fish    

Library .NET (Free Note Edition) is a personal notes and information management system. With it you can store all of your notes and information in an easy-to-use outline. It makes your data easier and convenient management, quicker and exact search , simpler and flexible backup, clearer and intuitive interface. .... Free download of Library .NET 18.7.5479.12252

Adobe XMP Library for ActionScript 1.0 Adobe Systems    

Adobe XMP Library for ActionScript consists of three parts, namely a data model, a parser and a serializer. The data model represents a set of XMP data in memory and offers an API to create or modify XMP properties. The parser that reads an XMP packet in RDF/XML format into the .... Free download of Adobe XMP Library for ActionScript 1.0

software pick   

ID3v2 Library 2.0.65.165 3delite     update

ID3v2 Library is a component for use in Win32 (9x/ME/2K/XP/Vista/W7) software. Reads and writes ID3v1 and ID3v2.3 ID3v2.4 Tags. Features: * Loading and saving of ID3v1, ID3v2.3 and ID3v2.4 Tags * Pure Delphi code, no external dependencies * Supports unsyncronisation * Supports compression/decompression of frames * Access directly all .... Free download of ID3v2 Library 2.0.65.165

software pick   

Wireless Communication Library .NET Lite 6.14.8.0 Soft Service    

... Communication Library (WCL) is the complete solution for developing applications which can communicate with any mobile devices ... the end-user application but the powerfull SDK (Software Development Kit) for software developers who want to add Bluetooth, IrDA and Serial ... set for using it with Borland Delphi, Borland Developer Studio, Microsoft Visual Studio .NET and Microsoft Visual .... Free download of Wireless Communication Library .NET Lite 6.14.8.0

software pick   

Generic Java Algebra Library 0.0.1 Alx Barker    

... various Domains. It is very useful for math development. Eases the work of mathematicains. .... Free download of Generic Java Algebra Library 0.0.1

software pick   
Popular Software in Development / Components & Libraries

Lazarus x64 2.0.0 Mattias Gaertner     update

A stable and feature rich visual programming environment. Free download of Lazarus x64 2.0.0

software pick   

TMS FNC UI Pack 1.0.0.0 tmssoftware.com    

UI controls in 1 component set for 3 frameworks and 5+ operating systems.. Free download of TMS FNC UI Pack 1.0.0.0

Dynamic Web TWAIN 14.3.1 Dynamsoft     update

Web scanning solution especially designed for web application. Free download of Dynamic Web TWAIN 14.3.1

TMS Instrumentation WorkShop for FireMonkey 2.8.0.2 TMS Software    

FireMonkey components for instrumentation and multimedia applications. Free download of TMS Instrumentation WorkShop for FireMonkey 2.8.0.2

CAD DLL 14 CADSoftTools     update

Library for CAD file formats visualization: DWG DXF HPGL PLT SVG CGM. Free download of CAD DLL 14