commit 5c53ac99e56ec85b389687ae9b746904eeb94a28
Author: Christian Ehringfeld <c.ehringfeld@t-online.de>
Date:   Sun May 10 21:48:41 2015 +0200

    oops not compiling

diff --git a/src/entitymanager.cpp b/src/entitymanager.cpp
index 0393d0e..81fc172 100644
--- a/src/entitymanager.cpp
+++ b/src/entitymanager.cpp
@@ -286,23 +286,24 @@ void EntityManager::persistManyToMany(const QSharedPointer<Entity> &entity,
                                    qvariant_cast<QList<QSharedPointer<Entity>>>(property);
     if (!list.isEmpty()) {
         auto ptr = list.at(0);
+        auto builder = this->schema.data()->getQueryBuilder();
         QString tblName = builder.data()->generateManyToManyTableName(entity, ptr);
         if (this->schema.data()->getTables().contains(tblName)) {
-            QSqlQuery q = this->schema.data()->getQueryBuilder().data()->manyToManyDelete(
+            QSqlQuery q = builder.data()->manyToManyDelete(
                               tblName, builder.data()->generateManyToManyColumnName(entity),
                               entity.data()->getId());
             if (this->db.data()->transaction(q)) {
                 q.clear();
                 QList<QSharedPointer<Entity>> persisted = QList<QSharedPointer<Entity>>();
-                q = this->schema.data()->getQueryBuilder().data()->manyToManyInsert(tblName,
-                        builder.data()->generateManyToManyColumnName(entity),
-                        builder.data()->generateManyToManyColumnName(ptr));
+                q = builder.data()->manyToManyInsert(tblName,
+                                                     builder.data()->generateManyToManyColumnName(entity),
+                                                     builder.data()->generateManyToManyColumnName(ptr));
                 q.bindValue(0, entity.data()->getId());
                 for (int var = 0; var < list.size(); ++var) {
                     ptr = list.at(var);
                     if (ptr.data() && ((ptr.data()->getId() > -1 && r.getCascadeType() == MERGE)
                                        || r.getCascadeType() == ALL || r.getCascadeType() == PERSIST)) {
-                        if (this->save(list.at(var))) {
+                        if (this->save(ptr)) {
                             persisted.append(ptr);
                         }
                     }
diff --git a/src/querybuilder.h b/src/querybuilder.h
index b134693..767d15c 100644
--- a/src/querybuilder.h
+++ b/src/querybuilder.h
@@ -20,6 +20,7 @@
 #include <QSharedPointer>
 #include <QPointer>
 #include <QSqlQuery>
+#include "relation.h"
 namespace CuteEntityManager {
 class Schema;
 class Entity;
