commit f6a3fe0a0c81d110778804bab0c9de88de28ca15
Author: Christian Ehringfeld <c.ehringfeld@t-online.de>
Date:   Mon Jul 13 19:57:19 2015 +0200

    wip

diff --git a/samples/simple/Example.pro b/samples/simple/Example.pro
deleted file mode 100644
index 5738d33..0000000
--- a/samples/simple/Example.pro
+++ /dev/null
@@ -1,34 +0,0 @@
-#-------------------------------------------------
-#
-# Project created by QtCreator 2013-08-01T15:03:24
-#
-#-------------------------------------------------
-
-QT       += core
-QT       += sql
-
-QT       -= gui
-
-#TARGET = EntityManager
-CONFIG   += console
-CONFIG   -= app_bundle
-
-TEMPLATE = app
-
-HEADERS += \
-    artikel.h
-
-SOURCES += \
-    main.cpp \
-    artikel.cpp
-
-unix:!macx: LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Debug -lCuteEntityManager
-unix:INCLUDEPATH += $$PWD/../../src
-unix:DEPENDPATH += $$PWD/../../src
-CONFIG += c++14
-
-win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/release/ -lCuteEntityManager
-else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/debug/ -lCuteEntityManager
-
-win32:INCLUDEPATH += $$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/debug
-win32:DEPENDPATH += $$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/debug
diff --git a/samples/simple/Simple.pro b/samples/simple/Simple.pro
new file mode 100644
index 0000000..5738d33
--- /dev/null
+++ b/samples/simple/Simple.pro
@@ -0,0 +1,34 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2013-08-01T15:03:24
+#
+#-------------------------------------------------
+
+QT       += core
+QT       += sql
+
+QT       -= gui
+
+#TARGET = EntityManager
+CONFIG   += console
+CONFIG   -= app_bundle
+
+TEMPLATE = app
+
+HEADERS += \
+    artikel.h
+
+SOURCES += \
+    main.cpp \
+    artikel.cpp
+
+unix:!macx: LIBS += -L$$PWD/../../../build-EntityManager-Desktop-Debug -lCuteEntityManager
+unix:INCLUDEPATH += $$PWD/../../src
+unix:DEPENDPATH += $$PWD/../../src
+CONFIG += c++14
+
+win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/release/ -lCuteEntityManager
+else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/debug/ -lCuteEntityManager
+
+win32:INCLUDEPATH += $$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/debug
+win32:DEPENDPATH += $$PWD/../../build-EntityManager-Desktop_Qt_5_4_1_MinGW_32bit-Debug/debug
diff --git a/src/entitymanager.cpp b/src/entitymanager.cpp
index 2cb4dbf..36ff9d6 100644
--- a/src/entitymanager.cpp
+++ b/src/entitymanager.cpp
@@ -248,8 +248,7 @@ void EntityManager::oneToOne(const QSharedPointer<Entity> &entity,
 
 bool EntityManager::canPersistRelation(const Relation &relation,
                                        const RelationType &r, const QVariant &var) const {
-    return relation.getType() == r
-           && var.canConvert<QList<QSharedPointer<Entity>>>();
+    return relation.getType() == r  && var.canConvert<QVariantList>();
 }
 
 void EntityManager::setListProperty(const QSharedPointer<Entity> &entity,
@@ -484,10 +483,12 @@ const QList<QSharedPointer<Entity> > &list, const Relation &r) {
 
 void EntityManager::persistManyToMany(const QSharedPointer<Entity> &entity,
                                       const Relation &r, const QVariant &property) {
-    QList<QSharedPointer<Entity>> list =
-                                   qvariant_cast<QList<QSharedPointer<Entity>>>(property);
+    auto list = property.value<QList<QVariant>>();
     if (!list.isEmpty()) {
-        auto ptr = list.at(0);
+        /**
+         * TODO
+         */
+        auto ptr = list.at(0).value<QSharedPointer<Entity>>();
         auto builder = this->schema.data()->getQueryBuilder();
         QString tblName = builder.data()->generateManyToManyTableName(entity, ptr);
         if (this->schema.data()->getTables().contains(tblName)) {
@@ -495,7 +496,7 @@ void EntityManager::persistManyToMany(const QSharedPointer<Entity> &entity,
                               tblName, builder.data()->generateManyToManyColumnName(entity),
                               entity.data()->property(entity.data()->getPrimaryKey()).toLongLong());
             if (this->db.data()->transaction(q)) {
-                this->persistMappedByRelation(list, q, entity, r, tblName);
+                //this->persistMappedByRelation(list, q, entity, r, tblName);
             }
         } else {
             qDebug() << "MANY_TO_MANY Table " << tblName << " not exists";
