diff --git a/src/main/java/de/thm/arsnova/config/PersistanceConfig.java b/src/main/java/de/thm/arsnova/config/PersistanceConfig.java
index 663e9ab8c5d30eb215736603e8c25d4170d55669..1b9cf5ad867d62c64b4a4711728307d9f27d3fc5 100644
--- a/src/main/java/de/thm/arsnova/config/PersistanceConfig.java
+++ b/src/main/java/de/thm/arsnova/config/PersistanceConfig.java
@@ -1,14 +1,5 @@
 package de.thm.arsnova.config;
 
-import de.thm.arsnova.entities.Answer;
-import de.thm.arsnova.entities.Comment;
-import de.thm.arsnova.entities.Content;
-import de.thm.arsnova.entities.DbUser;
-import de.thm.arsnova.entities.LogEntry;
-import de.thm.arsnova.entities.Motd;
-import de.thm.arsnova.entities.MotdList;
-import de.thm.arsnova.entities.Session;
-import de.thm.arsnova.entities.VisitedSession;
 import de.thm.arsnova.entities.serialization.CouchDbObjectMapperFactory;
 import de.thm.arsnova.persistance.*;
 import de.thm.arsnova.persistance.couchdb.*;
@@ -48,56 +39,56 @@ public class PersistanceConfig {
 
 	@Bean
 	public LogEntryRepository logEntryRepository() throws Exception {
-		return new CouchDbLogEntryRepository(LogEntry.class, couchDbConnector(), false);
+		return new CouchDbLogEntryRepository(couchDbConnector(), false);
 	}
 
 	@Bean
 	public UserRepository userRepository() throws Exception {
-		return new CouchDbUserRepository(DbUser.class, couchDbConnector(), false);
+		return new CouchDbUserRepository(couchDbConnector(), false);
 	}
 
 	@Bean
 	public SessionRepository sessionRepository() throws Exception {
-		return new CouchDbSessionRepository(Session.class, couchDbConnector(), false);
+		return new CouchDbSessionRepository(couchDbConnector(), false);
 	}
 
 	@Bean
 	public CommentRepository commentRepository() throws Exception {
-		return new CouchDbCommentRepository(Comment.class, couchDbConnector(), false);
+		return new CouchDbCommentRepository(couchDbConnector(), false);
 	}
 
 	@Bean
 	public ContentRepository contentRepository() throws Exception {
-		return new CouchDbContentRepository(Content.class, couchDbConnector(), false);
+		return new CouchDbContentRepository(couchDbConnector(), false);
 	}
 
 	@Bean
 	public AnswerRepository answerRepository() throws Exception {
-		return new CouchDbAnswerRepository(Answer.class, couchDbConnector(), false);
+		return new CouchDbAnswerRepository(couchDbConnector(), false);
 	}
 
 	@Bean
 	public MotdRepository motdRepository() throws Exception {
-		return new CouchDbMotdRepository(Motd.class, couchDbConnector(), false);
+		return new CouchDbMotdRepository(couchDbConnector(), false);
 	}
 
 	@Bean
 	public MotdListRepository motdListRepository() throws Exception {
-		return new CouchDbMotdListRepository(MotdList.class, couchDbConnector(), false);
+		return new CouchDbMotdListRepository(couchDbConnector(), false);
 	}
 
 	@Bean
 	public VisitedSessionRepository visitedSessionRepository() throws Exception {
-		return new CouchDbVisitedSessionRepository(VisitedSession.class, couchDbConnector(), false);
+		return new CouchDbVisitedSessionRepository(couchDbConnector(), false);
 	}
 
 	@Bean
 	public StatisticsRepository statisticsRepository() throws Exception {
-		return new CouchDbStatisticsRepository(Object.class, couchDbConnector(), false);
+		return new CouchDbStatisticsRepository(couchDbConnector(), false);
 	}
 
 	@Bean
 	public SessionStatisticsRepository sessionStatisticsRepository() throws Exception {
-		return new CouchDbSessionStatisticsRepository(Object.class, couchDbConnector(), false);
+		return new CouchDbSessionStatisticsRepository(couchDbConnector(), false);
 	}
 }
diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbAnswerRepository.java b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbAnswerRepository.java
index 4ebb3273e4c7ba6deac9ecf6ecd9090d860d52d8..244290982c7bc315631d0555874ce8e1c730c73f 100644
--- a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbAnswerRepository.java
+++ b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbAnswerRepository.java
@@ -52,8 +52,8 @@ public class CouchDbAnswerRepository extends CouchDbRepositorySupport<Answer> im
 
 	private ApplicationEventPublisher publisher;
 
-	public CouchDbAnswerRepository(Class<Answer> type, CouchDbConnector db, boolean createIfNotExists) {
-		super(type, db, createIfNotExists);
+	public CouchDbAnswerRepository(CouchDbConnector db, boolean createIfNotExists) {
+		super(Answer.class, db, createIfNotExists);
 	}
 
 	@Scheduled(fixedDelay = 5000)
diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbCommentRepository.java b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbCommentRepository.java
index ff1deeda8a5fb73646a7053d5a7536c952753ca6..fbd64dd2ad83c42601fc51775ef1fa02ae147ecb 100644
--- a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbCommentRepository.java
+++ b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbCommentRepository.java
@@ -30,8 +30,8 @@ public class CouchDbCommentRepository extends CouchDbRepositorySupport<Comment>
 	@Autowired
 	private SessionRepository sessionRepository;
 
-	public CouchDbCommentRepository(Class<Comment> type, CouchDbConnector db, boolean createIfNotExists) {
-		super(type, db, createIfNotExists);
+	public CouchDbCommentRepository(CouchDbConnector db, boolean createIfNotExists) {
+		super(Comment.class, db, createIfNotExists);
 	}
 
 	@Override
diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbContentRepository.java b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbContentRepository.java
index 1e91fb34eb68dff249749afbdc38ec0e405eff10..fca13b13e57bd4cdffa646db7480d328b0c1e21f 100644
--- a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbContentRepository.java
+++ b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbContentRepository.java
@@ -39,8 +39,8 @@ public class CouchDbContentRepository extends CouchDbRepositorySupport<Content>
 	@Autowired
 	private AnswerRepository answerRepository;
 
-	public CouchDbContentRepository(Class<Content> type, CouchDbConnector db, boolean createIfNotExists) {
-		super(type, db, createIfNotExists);
+	public CouchDbContentRepository(CouchDbConnector db, boolean createIfNotExists) {
+		super(Content.class, db, createIfNotExists);
 	}
 
 	@Cacheable("skillquestions")
diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbLogEntryRepository.java b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbLogEntryRepository.java
index 45f802a232fcdb7875e54584c7cad17a1ad7f9b7..0ceaa3bf08780e6133eebd0c58ad2e94e1896b97 100644
--- a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbLogEntryRepository.java
+++ b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbLogEntryRepository.java
@@ -29,8 +29,8 @@ import java.util.Map;
 public class CouchDbLogEntryRepository extends CouchDbRepositorySupport<LogEntry> implements LogEntryRepository {
 	private static final Logger logger = LoggerFactory.getLogger(CouchDbLogEntryRepository.class);
 
-	public CouchDbLogEntryRepository(Class<LogEntry> type, CouchDbConnector db, boolean createIfNotExists) {
-		super(type, db, createIfNotExists);
+	public CouchDbLogEntryRepository(CouchDbConnector db, boolean createIfNotExists) {
+		super(LogEntry.class, db, createIfNotExists);
 	}
 
 	@Override
diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbMotdListRepository.java b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbMotdListRepository.java
index 05bef30ab55e18cd69d2b6576bb54399c302c312..4260a6668e161303400aefac9728b87aef0cb5aa 100644
--- a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbMotdListRepository.java
+++ b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbMotdListRepository.java
@@ -15,8 +15,8 @@ import java.util.List;
 public class CouchDbMotdListRepository extends CouchDbRepositorySupport<MotdList> implements MotdListRepository {
 	private static final Logger logger = LoggerFactory.getLogger(CouchDbMotdListRepository.class);
 
-	public CouchDbMotdListRepository(Class<MotdList> type, CouchDbConnector db, boolean createIfNotExists) {
-		super(type, db, createIfNotExists);
+	public CouchDbMotdListRepository(CouchDbConnector db, boolean createIfNotExists) {
+		super(MotdList.class, db, createIfNotExists);
 	}
 
 	@Override
diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbMotdRepository.java b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbMotdRepository.java
index 4aafdb0685fe201d4ff4479cc9cda8a517e1308c..b0ee9bf42706d0e06edc596c771f3d885d85ba76 100644
--- a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbMotdRepository.java
+++ b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbMotdRepository.java
@@ -37,8 +37,8 @@ public class CouchDbMotdRepository extends CouchDbRepositorySupport<Motd> implem
 	@Autowired
 	private ISessionService sessionService;
 
-	public CouchDbMotdRepository(Class<Motd> type, CouchDbConnector db, boolean createIfNotExists) {
-		super(type, db, createIfNotExists);
+	public CouchDbMotdRepository(CouchDbConnector db, boolean createIfNotExists) {
+		super(Motd.class, db, createIfNotExists);
 	}
 
 	@Override
diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionRepository.java b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionRepository.java
index 7689fe39c2fd6508fd987de2898ffd9f9c5fcf79..2731d70a0f7b9fc2b88a02cac1cc0b9a691a82af 100644
--- a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionRepository.java
+++ b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionRepository.java
@@ -67,8 +67,8 @@ public class CouchDbSessionRepository extends CouchDbRepositorySupport<Session>
 	@Autowired
 	private MotdRepository motdRepository;
 
-	public CouchDbSessionRepository(Class<Session> type, CouchDbConnector db, boolean createIfNotExists) {
-		super(type, db, createIfNotExists);
+	public CouchDbSessionRepository(CouchDbConnector db, boolean createIfNotExists) {
+		super(Session.class, db, createIfNotExists);
 	}
 
 	@Override
diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionStatisticsRepository.java b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionStatisticsRepository.java
index be48429e26556dd2de2f14d224a704fd592c2148..0d7bbcb1dc115ee8a02f3ba484d074d9c0e1fefe 100644
--- a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionStatisticsRepository.java
+++ b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbSessionStatisticsRepository.java
@@ -11,8 +11,8 @@ import org.ektorp.support.CouchDbRepositorySupport;
 import org.springframework.cache.annotation.Cacheable;
 
 public class CouchDbSessionStatisticsRepository extends CouchDbRepositorySupport implements SessionStatisticsRepository {
-	public CouchDbSessionStatisticsRepository(Class type, CouchDbConnector db, boolean createIfNotExists) {
-		super(type, db, "learning_progress", createIfNotExists);
+	public CouchDbSessionStatisticsRepository(CouchDbConnector db, boolean createIfNotExists) {
+		super(Object.class, db, "learning_progress", createIfNotExists);
 	}
 
 	@Cacheable("learningprogress")
diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbStatisticsRepository.java b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbStatisticsRepository.java
index 20ed9067693b9c08dfa11ef22309197432dd5e58..19c6838a2e4eefaf5792ef515301cb964070696d 100644
--- a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbStatisticsRepository.java
+++ b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbStatisticsRepository.java
@@ -16,8 +16,8 @@ import java.util.Set;
 public class CouchDbStatisticsRepository extends CouchDbRepositorySupport implements StatisticsRepository {
 	private static final Logger logger = LoggerFactory.getLogger(CouchDbStatisticsRepository.class);
 
-	public CouchDbStatisticsRepository(Class type, CouchDbConnector db, boolean createIfNotExists) {
-		super(type, db, "statistics", createIfNotExists);
+	public CouchDbStatisticsRepository(CouchDbConnector db, boolean createIfNotExists) {
+		super(Object.class, db, "statistics", createIfNotExists);
 	}
 
 	@Cacheable("statistics")
diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbUserRepository.java b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbUserRepository.java
index 91d280d487187c15b1b466dd73522c569316f442..5c88ab22a79d47c22801a537194c3317ae11c6a9 100644
--- a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbUserRepository.java
+++ b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbUserRepository.java
@@ -37,8 +37,8 @@ public class CouchDbUserRepository extends CouchDbRepositorySupport<DbUser> impl
 
 	private static final Logger logger = LoggerFactory.getLogger(CouchDbUserRepository.class);
 
-	public CouchDbUserRepository(Class<DbUser> type, CouchDbConnector db, boolean createIfNotExists) {
-		super(type, db, createIfNotExists);
+	public CouchDbUserRepository(CouchDbConnector db, boolean createIfNotExists) {
+		super(DbUser.class, db, createIfNotExists);
 	}
 
 	private void log(Object... strings) {
diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbVisitedSessionRepository.java b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbVisitedSessionRepository.java
index e682387a7a177cec90a529bbced532dec7af4c3c..03b2840873cd01102be8c848f4c81964efe0ff0b 100644
--- a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbVisitedSessionRepository.java
+++ b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbVisitedSessionRepository.java
@@ -25,8 +25,8 @@ public class CouchDbVisitedSessionRepository extends CouchDbRepositorySupport<Vi
 	@Autowired
 	private LogEntryRepository dbLogger;
 
-	public CouchDbVisitedSessionRepository(Class<VisitedSession> type, CouchDbConnector db, boolean createIfNotExists) {
-		super(type, db, createIfNotExists);
+	public CouchDbVisitedSessionRepository(CouchDbConnector db, boolean createIfNotExists) {
+		super(VisitedSession.class, db, createIfNotExists);
 	}
 
 	@Override