From 72d05d48df4ee41961cd4e56333f6074a6cc59a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Ko=C5=BEusznik?= <jan@kozusznik.cz>
Date: Wed, 14 Apr 2021 14:00:20 +0200
Subject: [PATCH] Solution

---
 src/main/java/koz01/java2/lab10/Clas.java             | 4 ++--
 src/main/java/koz01/java2/lab10/Department.java       | 5 +++--
 src/main/java/koz01/java2/lab10/Employee.java         | 4 ++--
 src/main/java/koz01/java2/lab10/NonTeachingStaff.java | 2 ++
 src/main/java/koz01/java2/lab10/Staff.java            | 3 +++
 src/main/java/koz01/java2/lab10/Teacher.java          | 4 ++--
 6 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/src/main/java/koz01/java2/lab10/Clas.java b/src/main/java/koz01/java2/lab10/Clas.java
index 660d6f3..6b4a770 100644
--- a/src/main/java/koz01/java2/lab10/Clas.java
+++ b/src/main/java/koz01/java2/lab10/Clas.java
@@ -3,7 +3,7 @@ package koz01.java2.lab10;
 import java.util.Set;
 
 import javax.persistence.Entity;
-import javax.persistence.Transient;
+import javax.persistence.ManyToMany;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;
@@ -19,7 +19,7 @@ public class Clas extends BaseEntity {
 	@Setter
 	private String cname;
 
-	@Transient
+	@ManyToMany(mappedBy = "clas")
 	@Getter
 	@Setter
 	private Set<Teacher> teacher;
diff --git a/src/main/java/koz01/java2/lab10/Department.java b/src/main/java/koz01/java2/lab10/Department.java
index 8ab9522..937132a 100644
--- a/src/main/java/koz01/java2/lab10/Department.java
+++ b/src/main/java/koz01/java2/lab10/Department.java
@@ -3,7 +3,7 @@ package koz01.java2.lab10;
 import java.util.List;
 
 import javax.persistence.Entity;
-import javax.persistence.Transient;
+import javax.persistence.OneToMany;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;
@@ -21,7 +21,8 @@ public class Department extends BaseEntity {
 	@Setter
 	private String name;
 
-	@Transient
+	@ToString.Exclude
+	@OneToMany(mappedBy = "department")
 	@Getter
 	@Setter
 	private List<Employee> employee;
diff --git a/src/main/java/koz01/java2/lab10/Employee.java b/src/main/java/koz01/java2/lab10/Employee.java
index b4b98df..667514e 100644
--- a/src/main/java/koz01/java2/lab10/Employee.java
+++ b/src/main/java/koz01/java2/lab10/Employee.java
@@ -1,7 +1,7 @@
 package koz01.java2.lab10;
 
 import javax.persistence.Entity;
-import javax.persistence.Transient;
+import javax.persistence.ManyToOne;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;
@@ -28,7 +28,7 @@ public class Employee extends BaseEntity {
 	private String deg;
 
 	@ToString.Exclude
-	@Transient
+	@ManyToOne
 	@Setter
 	@Getter
 	private Department department;
diff --git a/src/main/java/koz01/java2/lab10/NonTeachingStaff.java b/src/main/java/koz01/java2/lab10/NonTeachingStaff.java
index 59b164a..71f5e2f 100644
--- a/src/main/java/koz01/java2/lab10/NonTeachingStaff.java
+++ b/src/main/java/koz01/java2/lab10/NonTeachingStaff.java
@@ -1,5 +1,6 @@
 package koz01.java2.lab10;
 
+import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
 import lombok.Getter;
@@ -7,6 +8,7 @@ import lombok.NoArgsConstructor;
 import lombok.Setter;
 
 @Entity
+@DiscriminatorValue(value = "nts")
 @NoArgsConstructor
 public class NonTeachingStaff extends Staff {
 
diff --git a/src/main/java/koz01/java2/lab10/Staff.java b/src/main/java/koz01/java2/lab10/Staff.java
index 6f09a62..87e3728 100644
--- a/src/main/java/koz01/java2/lab10/Staff.java
+++ b/src/main/java/koz01/java2/lab10/Staff.java
@@ -1,12 +1,15 @@
 package koz01.java2.lab10;
 
 import javax.persistence.Entity;
+import javax.persistence.Inheritance;
+import javax.persistence.InheritanceType;
 
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
 
 @Entity
+@Inheritance(strategy = InheritanceType.JOINED)
 @NoArgsConstructor
 public class Staff extends BaseEntity {
 
diff --git a/src/main/java/koz01/java2/lab10/Teacher.java b/src/main/java/koz01/java2/lab10/Teacher.java
index d2b11e5..e824c26 100644
--- a/src/main/java/koz01/java2/lab10/Teacher.java
+++ b/src/main/java/koz01/java2/lab10/Teacher.java
@@ -4,7 +4,7 @@ package koz01.java2.lab10;
 import java.util.Set;
 
 import javax.persistence.Entity;
-import javax.persistence.Transient;
+import javax.persistence.ManyToMany;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;
@@ -24,7 +24,7 @@ public class Teacher extends BaseEntity {
 	@Setter
 	private String subject;
 
-	@Transient
+	@ManyToMany
 	@Getter
 	@Setter
 	private Set<Clas> clas;
-- 
GitLab