32#ifndef _IX_REPOSITORY_H_
33#define _IX_REPOSITORY_H_
46#include <QtSql/qsqldatabase.h>
47#include <QtSql/qsqlquery.h>
48#include <QtSql/qsqlerror.h>
49#include <QtSql/qsqldriver.h>
86 IxRepository(
bool bRegister,
const QString & sKey,
const QSqlDatabase & database);
94 virtual void *
_fetchById(
const QVariant &
id,
const QStringList & columns = QStringList(),
const QStringList & relation = QStringList()) = 0;
95 virtual QSqlError
_fetchById(QObject * p,
const QStringList & columns = QStringList(),
const QStringList & relation = QStringList()) = 0;
96 virtual QSqlError
_fetchById(
qx::IxCollection * p,
const QStringList & columns = QStringList(),
const QStringList & relation = QStringList()) = 0;
97 virtual QSqlError
_fetchAll(QObject * p,
const QStringList & columns = QStringList(),
const QStringList & relation = QStringList()) = 0;
98 virtual QSqlError
_fetchAll(
qx::IxCollection * p,
const QStringList & columns = QStringList(),
const QStringList & relation = QStringList()) = 0;
99 virtual QSqlError
_fetchByQuery(
const qx::QxSqlQuery & query, QObject * p,
const QStringList & columns = QStringList(),
const QStringList & relation = QStringList()) = 0;
101 virtual QSqlError
_insert(QObject * p,
const QStringList & relation = QStringList()) = 0;
105 virtual QSqlError
_save(QObject * p,
const QStringList & relation = QStringList()) = 0;
124 static qx::IxCollection_ptr _fetchAll(
const QString & repositoryKey,
const QStringList & columns = QStringList(),
const QStringList & relation = QStringList());
Common interface for all QxOrm containers qx::QxCollection<Key, Value>
qx_bool : QxOrm library boolean type with code and description message when an error occured
Define a user SQL query added to default SQL query builded by QxOrm library, and used by qx::dao::xxx...
qx::IxClass : common interface for all classes registered into QxOrm context
qx::IxCollection : common interface for all QxOrm containers qx::QxCollection<Key,...
qx::IxRepository : common interface for all repositories to provide access to database by introspecti...
virtual void * _fetchById(const QVariant &id, const QStringList &columns=QStringList(), const QStringList &relation=QStringList())=0
virtual qx_bool _exist(qx::IxCollection *p)=0
QxSession * session() const
virtual QSqlError _save(qx::IxCollection *p, const QStringList &relation=QStringList())=0
virtual QSqlError _deleteById(const QVariant &id)=0
static qx::IxCollection_ptr _fetchByQuery(const QString &repositoryKey, const qx::QxSqlQuery &query, const QStringList &columns=QStringList(), const QStringList &relation=QStringList())
virtual QSqlError _insert(qx::IxCollection *p, const QStringList &relation=QStringList())=0
bool m_bRegister
Register repository into QxRepositoryX collection.
virtual long _count(const qx::QxSqlQuery &query=qx::QxSqlQuery())=0
virtual QSqlError _deleteById(QObject *p)=0
virtual QSqlError _destroyById(QObject *p)=0
virtual qx::IxClass * _getClass() const =0
virtual QSqlError _update(QObject *p, const qx::QxSqlQuery &query=qx::QxSqlQuery(), const QStringList &columns=QStringList(), const QStringList &relation=QStringList())=0
virtual QSqlError _deleteByQuery(const qx::QxSqlQuery &query)=0
IxRepository(bool bRegister, const QString &sKey)
virtual qx_bool _exist(QObject *p)=0
virtual QSqlError _deleteAll()=0
QSqlDatabase * database()
virtual qx::IxCollection_ptr _newCollection() const =0
virtual QSqlError _destroyById(const QVariant &id)=0
virtual QSqlError _fetchById(qx::IxCollection *p, const QStringList &columns=QStringList(), const QStringList &relation=QStringList())=0
IxRepository(bool bRegister, const QString &sKey, QxSession *pSession)
virtual QSqlError _fetchById(QObject *p, const QStringList &columns=QStringList(), const QStringList &relation=QStringList())=0
virtual QSqlError _destroyByQuery(const qx::QxSqlQuery &query)=0
static qx::IxCollection_ptr _fetchAll(const QString &repositoryKey, const QStringList &columns=QStringList(), const QStringList &relation=QStringList())
QString m_sKeyRepository
Repository key used by QxRepositoryX collection.
QxSession * m_pSession
Session associated to the repository.
virtual QSqlError _fetchByQuery(const qx::QxSqlQuery &query, QObject *p, const QStringList &columns=QStringList(), const QStringList &relation=QStringList())=0
virtual QSqlError _fetchByQuery(const qx::QxSqlQuery &query, qx::IxCollection *p, const QStringList &columns=QStringList(), const QStringList &relation=QStringList())=0
virtual QSqlError _save(QObject *p, const QStringList &relation=QStringList())=0
virtual QSqlError _deleteById(qx::IxCollection *p)=0
virtual QSqlError _fetchAll(QObject *p, const QStringList &columns=QStringList(), const QStringList &relation=QStringList())=0
virtual QSqlError _update(qx::IxCollection *p, const qx::QxSqlQuery &query=qx::QxSqlQuery(), const QStringList &columns=QStringList(), const QStringList &relation=QStringList())=0
IxRepository(bool bRegister, const QString &sKey, const QSqlDatabase &database)
QSqlDatabase m_database
Database connection associated to the repository.
virtual QSqlError _fetchAll(qx::IxCollection *p, const QStringList &columns=QStringList(), const QStringList &relation=QStringList())=0
virtual QSqlError _destroyById(qx::IxCollection *p)=0
virtual QSqlError _destroyAll()=0
virtual QSqlError _insert(QObject *p, const QStringList &relation=QStringList())=0
qx_bool : boolean type with code and description message when an error occured
qx::QxSession : define a session to manage automatically database transactions (using C++ RAII)
qx::QxSqlQuery : define a user SQL query added to default SQL query builded by QxOrm library,...
Root namespace for all QxOrm library features.
std::shared_ptr< qx::IxCollection > IxCollection_ptr