Revision 97846191
Von Christian Ehringfeld vor mehr als 10 Jahren hinzugefügt
| src/entity.h | ||
|---|---|---|
|
qint64 id;
|
||
|
};
|
||
|
}
|
||
|
Q_DECLARE_METATYPE(QList<QSharedPointer<CuteEntityManager::Entity>>)
|
||
|
#endif // ENTITY_H
|
||
| src/entityinstancefactory.cpp | ||
|---|---|---|
|
QString r = "";
|
||
|
const QString sptr = "QSharedPointer";
|
||
|
if (s.contains(sptr)) {
|
||
|
const int index = s.indexOf(sptr) + sptr.count() +1;
|
||
|
r = s.mid(index,s.indexOf(">",index)-index);
|
||
|
const int index = s.indexOf(sptr) + sptr.count() + 1;
|
||
|
r = s.mid(index, s.indexOf(">", index) - index);
|
||
|
} else {
|
||
|
r = s;
|
||
|
}
|
||
| src/entitymanager.cpp | ||
|---|---|---|
|
} else {
|
||
|
tblName = builder.data()->generateManyToManyTableName(secEntityPtr, entity);
|
||
|
}
|
||
|
/**
|
||
|
* maybe it would be better, to fetch first the ids, look up cache and then request missing entities
|
||
|
*/
|
||
|
QSqlQuery q = this->schema.data()->getQueryBuilder().data()->manyToMany(tblName,
|
||
|
builder.data()->generateManyToManyColumnName(entity), entity.data()->getId(),
|
||
|
builder.data()->generateManyToManyColumnName(secEntityPtr),
|
||
| src/entitymanager.h | ||
|---|---|---|
|
QList<QHash<QString, QVariant> > findAllByAttributes(const QHash<QString, QVariant> &m, const QString &tblname,
|
||
|
bool ignoreID = false);
|
||
|
QSharedPointer<Entity> findById(const qint64 &id, Entity *&e);
|
||
|
void setListProperty(const QSharedPointer<Entity> &entity,QList<QSharedPointer<Entity>> &list,const QMetaProperty &property) const;
|
||
|
void setListProperty(const QSharedPointer<Entity> &entity, QList<QSharedPointer<Entity>> &list,
|
||
|
const QMetaProperty &property) const;
|
||
|
|
||
|
public:
|
||
|
EntityManager(QSqlDatabase database);
|
||
| src/querybuilder.h | ||
|---|---|---|
|
QString transformAbstractTypeToRealDbType(QString typeName) const;
|
||
|
QString getColumnType(const QString &type) const;
|
||
|
QSqlQuery find(const qint64 &id, const QString &tableName) const;
|
||
|
QSqlQuery findByAttributes(const QHash<QString, QVariant> &m, const QString &tableName, const bool &ignoreID = true) const;
|
||
|
QSqlQuery findByAttributes(const QSharedPointer<Entity> &e,bool ignoreID = true);
|
||
|
QSqlQuery findByAttributes(const QHash<QString, QVariant> &m, const QString &tableName,
|
||
|
const bool &ignoreID = true) const;
|
||
|
QSqlQuery findByAttributes(const QSharedPointer<Entity> &e, bool ignoreID = true);
|
||
|
QSqlQuery findAll(const QString &tableName) const;
|
||
|
QSqlQuery remove(const QSharedPointer<Entity> &entity) const;
|
||
|
QSqlQuery findId(const QSharedPointer<Entity> &entity) const;
|
||
| ... | ... | |
|
QSqlQuery merge(const QSharedPointer<Entity> &entity) const;
|
||
|
QSqlQuery create(const QSharedPointer<Entity> &entity) const;
|
||
|
QSqlQuery oneToMany(const QString &tableName, const QString &attribute, const qint64 &id);
|
||
|
QSqlQuery manyToMany(const QString &tableName, const QString &attribute, const qint64 &id, const QString &foreignKey, const QString &foreignTable);
|
||
|
QSqlQuery manyToMany(const QString &tableName, const QString &attribute, const qint64 &id, const QString &foreignKey,
|
||
|
const QString &foreignTable);
|
||
|
virtual QString limit(const qint8 limit, const qint64 offset) const;
|
||
|
QString generateManyToManyColumnName(const QSharedPointer<Entity> &entity) const;
|
||
|
QSqlQuery getQuery() const;
|
||
Auch abrufbar als: Unified diff
formatting