diff --git a/src/main/java/de/thm/arsnova/entities/Answer.java b/src/main/java/de/thm/arsnova/entities/Answer.java
index c8ab9ffcd6e868d79e57c173410d56aaabd485fe..55fa104fe89f8aa58a6ab85a2ada0fb82ae01b47 100644
--- a/src/main/java/de/thm/arsnova/entities/Answer.java
+++ b/src/main/java/de/thm/arsnova/entities/Answer.java
@@ -176,4 +176,87 @@ public class Answer {
 				+ ", user: " + user;
 	}
 
+	@Override
+	public int hashCode() {
+		// auto generated!
+		final int prime = 31;
+		int result = 1;
+		result = prime * result + ((_id == null) ? 0 : _id.hashCode());
+		result = prime * result + ((_rev == null) ? 0 : _rev.hashCode());
+		result = prime * result + ((answerSubject == null) ? 0 : answerSubject.hashCode());
+		result = prime * result + ((answerText == null) ? 0 : answerText.hashCode());
+		result = prime * result + piRound;
+		result = prime * result + ((questionId == null) ? 0 : questionId.hashCode());
+		result = prime * result + ((sessionId == null) ? 0 : sessionId.hashCode());
+		result = prime * result + (int) (timestamp ^ (timestamp >>> 32));
+		result = prime * result + ((user == null) ? 0 : user.hashCode());
+		return result;
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		// auto generated!
+		if (this == obj) return true;
+		if (obj == null) return false;
+		if (getClass() != obj.getClass()) {
+			return false;
+		}
+		Answer other = (Answer) obj;
+		if (_id == null) {
+			if (other._id != null) {
+				return false;
+			}
+		} else if (!_id.equals(other._id)) {
+			return false;
+		}
+		if (_rev == null) {
+			if (other._rev != null) {
+				return false;
+			}
+		} else if (!_rev.equals(other._rev)) {
+			return false;
+		}
+		if (answerSubject == null) {
+			if (other.answerSubject != null) {
+				return false;
+			}
+		} else if (!answerSubject.equals(other.answerSubject)) {
+			return false;
+		}
+		if (answerText == null) {
+			if (other.answerText != null) {
+				return false;
+			}
+		} else if (!answerText.equals(other.answerText)) {
+			return false;
+		}
+		if (piRound != other.piRound) {
+			return false;
+		}
+		if (questionId == null) {
+			if (other.questionId != null) {
+				return false;
+			}
+		} else if (!questionId.equals(other.questionId)) {
+			return false;
+		}
+		if (sessionId == null) {
+			if (other.sessionId != null) {
+				return false;
+			}
+		} else if (!sessionId.equals(other.sessionId)) {
+			return false;
+		}
+		if (timestamp != other.timestamp) {
+			return false;
+		}
+		if (user == null) {
+			if (other.user != null) {
+				return false;
+			}
+		} else if (!user.equals(other.user)) {
+			return false;
+		}
+		return true;
+	}
 }
diff --git a/src/main/java/de/thm/arsnova/entities/Question.java b/src/main/java/de/thm/arsnova/entities/Question.java
index 82812ce3233b37c2101c743ba3db46bfa92a6a9d..956512a627dfbbf38b1ceac3b98144815d83bca8 100644
--- a/src/main/java/de/thm/arsnova/entities/Question.java
+++ b/src/main/java/de/thm/arsnova/entities/Question.java
@@ -416,6 +416,42 @@ public class Question {
 		return "Question type '" + type + "': " + subject + ";\n" + text + possibleAnswers;
 	}
 
+	@Override
+	public int hashCode() {
+		// auto generated!
+		final int prime = 31;
+		int result = 1;
+		result = prime * result + ((_id == null) ? 0 : _id.hashCode());
+		result = prime * result + ((_rev == null) ? 0 : _rev.hashCode());
+		return result;
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		// auto generated!
+		if (this == obj) return true;
+		if (obj == null) return false;
+		if (getClass() != obj.getClass()) {
+			return false;
+		}
+		Question other = (Question) obj;
+		if (_id == null) {
+			if (other._id != null) {
+				return false;
+			}
+		} else if (!_id.equals(other._id)) {
+			return false;
+		}
+		if (_rev == null) {
+			if (other._rev != null) {
+				return false;
+			}
+		} else if (!_rev.equals(other._rev)) {
+			return false;
+		}
+		return true;
+	}
+
 	public int calculateValue(Answer answer) {
 		if (answer.isAbstention()) {
 			return 0;