diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/AbstractPhase.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/AbstractPhase.java
index 2b46927dbe56f33dfe1c36b253d4b69f2829d142..f36a5e855de45ba2a5211d9f6e71cf67c5e49e52 100644
--- a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/AbstractPhase.java
+++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/AbstractPhase.java
@@ -8,6 +8,7 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.Inheritance;
 import javax.persistence.InheritanceType;
+import javax.persistence.SequenceGenerator;
 import java.io.Serializable;
 
 
@@ -18,7 +19,8 @@ import java.io.Serializable;
 public abstract class AbstractPhase implements Serializable {
 
     @Id
-    @GeneratedValue(strategy = GenerationType.TABLE)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "phaseGenerator")
+    @SequenceGenerator(name = "phaseGenerator", sequenceName = "phase_seq")
     private Long id;
 
     private String title;
diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/DecisionMatrixRow.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/DecisionMatrixRow.java
index 468a5da65b7f67b0517b891d244d78256dcc14e1..9cd2c12b033ab48a03b81467536908abccc5a36a 100644
--- a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/DecisionMatrixRow.java
+++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/DecisionMatrixRow.java
@@ -7,16 +7,18 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;
+import javax.persistence.SequenceGenerator;
 import java.io.Serializable;
 
 @Entity
 public class DecisionMatrixRow implements Serializable {
 
     @Id
-    @GeneratedValue(strategy = GenerationType.TABLE)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "decisionMatrixRowGenerator")
+    @SequenceGenerator(name = "decisionMatrixRowGenerator", sequenceName = "decision_matrix_row_seq")
     private Long id;
 
-    @Column(name = "order_in_phase", nullable = false)
+    @Column(name = "order_in_training_phase", nullable = false)
     private int order;
     private double assessmentAnswered;
     private double keywordUsed;
diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Question.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Question.java
index be8bf1f9d5d559552f97c5e3d4ded29ae2d93234..035bf95c3faa1beb299f8155462d42f4478bc18e 100644
--- a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Question.java
+++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Question.java
@@ -15,6 +15,7 @@ import javax.persistence.ManyToMany;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
 import javax.persistence.OrderBy;
+import javax.persistence.SequenceGenerator;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -23,10 +24,11 @@ import java.util.List;
 import java.util.Set;
 
 @Entity
-public class Question implements Serializable  {
+public class Question implements Serializable {
 
     @Id
-    @GeneratedValue(strategy = GenerationType.TABLE)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "questionGenerator")
+    @SequenceGenerator(name = "questionGenerator", sequenceName = "question_seq")
     private Long id;
 
     @Enumerated(EnumType.STRING)
diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionChoice.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionChoice.java
index d45f921129b77f99bffff1334b8c34724179cee4..6fc9793f3349647052ef99283ff9d0b743139a02 100644
--- a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionChoice.java
+++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionChoice.java
@@ -7,13 +7,15 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;
+import javax.persistence.SequenceGenerator;
 import java.io.Serializable;
 
 @Entity
 public class QuestionChoice implements Serializable {
 
     @Id
-    @GeneratedValue(strategy = GenerationType.TABLE)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "questionChoiceGenerator")
+    @SequenceGenerator(name = "questionChoiceGenerator", sequenceName = "question_choice_seq")
     private Long id;
 
     private String text;
diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionPhaseRelation.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionPhaseRelation.java
index 6e4cf629d8b3714cfe8aa34058addfdae31f396a..91371e69964388a7277861bbb21a3dd21d3d27a8 100644
--- a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionPhaseRelation.java
+++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/QuestionPhaseRelation.java
@@ -11,6 +11,7 @@ import javax.persistence.JoinColumn;
 import javax.persistence.JoinTable;
 import javax.persistence.ManyToMany;
 import javax.persistence.ManyToOne;
+import javax.persistence.SequenceGenerator;
 import java.io.Serializable;
 import java.util.Set;
 
@@ -18,7 +19,8 @@ import java.util.Set;
 public class QuestionPhaseRelation implements Serializable {
 
     @Id
-    @GeneratedValue(strategy = GenerationType.TABLE)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "questionPhaseGenerator")
+    @SequenceGenerator(name = "questionPhaseGenerator", sequenceName = "question_phase_seq")
     private Long id;
 
     @Column(name = "order_in_questionnaire", nullable = false)
diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Task.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Task.java
index 276396999a978ef5abecb4bc16a8b797a1c82581..bd4f8d48b042a775081be75582e97cad8fb479b0 100644
--- a/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Task.java
+++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/domain/Task.java
@@ -7,6 +7,7 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;
+import javax.persistence.SequenceGenerator;
 import java.io.Serializable;
 
 
@@ -14,7 +15,8 @@ import java.io.Serializable;
 public class Task implements Serializable {
 
     @Id
-    @GeneratedValue(strategy = GenerationType.TABLE)
+    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "taskGenerator")
+    @SequenceGenerator(name = "taskGenerator", sequenceName = "task_seq")
     private Long id;
 
     private String title;