From f6575c0a6097bdff235796103884d08e8c450cda Mon Sep 17 00:00:00 2001
From: Jan Tymel <410388@mail.muni.cz>
Date: Wed, 10 Feb 2021 06:50:25 +0100
Subject: [PATCH] Change strategy of generated value of entities' ID from TABLE
 to SEQUENCE since it is easier to use

---
 .../ics/kypo/training/adaptive/domain/AbstractPhase.java    | 4 +++-
 .../kypo/training/adaptive/domain/DecisionMatrixRow.java    | 6 ++++--
 .../cz/muni/ics/kypo/training/adaptive/domain/Question.java | 6 ++++--
 .../ics/kypo/training/adaptive/domain/QuestionChoice.java   | 4 +++-
 .../training/adaptive/domain/QuestionPhaseRelation.java     | 4 +++-
 .../cz/muni/ics/kypo/training/adaptive/domain/Task.java     | 4 +++-
 6 files changed, 20 insertions(+), 8 deletions(-)

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 2b46927d..f36a5e85 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 468a5da6..9cd2c12b 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 be8bf1f9..035bf95c 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 d45f9211..6fc9793f 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 6e4cf629..91371e69 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 27639699..bd4f8d48 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;
-- 
GitLab