commit 97f9a843350d3d16c56d243d531820d415bfd570
Author: Christian Ehringfeld <c.ehringfeld@t-online.de>
Date:   Sun Apr 19 19:19:21 2015 +0200

    compiles

diff --git a/src/entity.h b/src/entity.h
index e0ef665..a682c98 100644
--- a/src/entity.h
+++ b/src/entity.h
@@ -23,6 +23,7 @@
 #include <QMetaProperty>
 #include "relation.h"
 #include <QStringList>
+#include <QSharedPointer>
 namespace CuteEntityManager {
 
 /**
@@ -69,7 +70,7 @@ class Entity : public QObject {
     qint64 getId() const;
     void setId(const qint64 &value);
 
-protected:
+  protected:
     qint64 id;
 };
 }
diff --git a/src/querybuilder.cpp b/src/querybuilder.cpp
index 570c581..f952fc6 100644
--- a/src/querybuilder.cpp
+++ b/src/querybuilder.cpp
@@ -170,18 +170,23 @@ QHash<QString, QString> QueryBuilder::generateTableDefinition(const QSharedPoint
     return map;
 }
 
-QList<QHash<QString, QString>> QueryBuilder::generateRelationTables(const QSharedPointer<Entity> &entity) {
+QList<QHash<QString, QString>> QueryBuilder::generateRelationTables(const QSharedPointer<Entity> &entity) const {
+    QList<QHash<QString, QString>> relations = QList<QHash<QString, QString>>();
     QHash<QString, Relation> m = entity.data()->getRelations();
+    QHash<QString, QSharedPointer<Entity>> os = entity.data()->getRelationObjects();
     for(auto i = m.begin(); i != m.end(); ++i) {
         Relation r = i.value();
         if(r.getType() == HAS_MANY) {
             QHash<QString, QString> h = QHash<QString, QString>();
             h.insert("id",this->schema.data()->TYPE_BIGPK);
-            //h.insert(entity.data()->metaObject()->className()+ "_id", this->schema.data()->)
-
+            h.insert(QString(entity.data()->metaObject()->className())+ QString("_id"), this->schema.data()->TYPE_BIGINT);
+            if(os.contains(i.key())) {
+            h.insert(QString(os.value(i.key()).data()->metaObject()->className())+ QString("_id"),this->schema.data()->TYPE_BIGINT);
+            relations.append(h);
+            }
         }
     }
-
+    return relations;
 }
 
 
diff --git a/src/querybuilder.h b/src/querybuilder.h
index 0fe3c96..801f1f1 100644
--- a/src/querybuilder.h
+++ b/src/querybuilder.h
@@ -35,7 +35,7 @@ class QueryBuilder {
 
     QSharedPointer<Database> getDatabase() const;
     void setDatabase(const QSharedPointer<Database> &value);
-
+    QList<QHash<QString, QString>> generateRelationTables(const QSharedPointer<Entity> &entity) const;
     QHash<QString, QString> generateTableDefinition(const QSharedPointer<Entity> &entity) const;
 
     QString transformTypeToAbstractDbType(QString typeName) const;
