From d25d7b7d6440581bd9a92c8a325506c81a1ba5fd Mon Sep 17 00:00:00 2001
From: Altan <altanmk93@zedat.fu-berlin.de>
Date: Sun, 13 Sep 2020 20:48:07 +0200
Subject: [PATCH] started with erd implementation

---
 .../natlab/Natlab/entity/Course.java          | 53 +++++++++++++++++++
 .../natlab/Natlab/entity/User.java            | 37 +++++++++++++
 .../src/main/resources/application.properties |  8 +--
 3 files changed, 94 insertions(+), 4 deletions(-)
 create mode 100644 Natlab/src/main/java/fu/berlin/swp/datenverwaltung2020/natlab/Natlab/entity/Course.java
 create mode 100644 Natlab/src/main/java/fu/berlin/swp/datenverwaltung2020/natlab/Natlab/entity/User.java

diff --git a/Natlab/src/main/java/fu/berlin/swp/datenverwaltung2020/natlab/Natlab/entity/Course.java b/Natlab/src/main/java/fu/berlin/swp/datenverwaltung2020/natlab/Natlab/entity/Course.java
new file mode 100644
index 0000000..150b91a
--- /dev/null
+++ b/Natlab/src/main/java/fu/berlin/swp/datenverwaltung2020/natlab/Natlab/entity/Course.java
@@ -0,0 +1,53 @@
+package fu.berlin.swp.datenverwaltung2020.natlab.Natlab.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import java.time.LocalDate;
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Entity
+@Table(name = "course")
+public class Course {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    @Column(name = "course_id")
+    private String id;
+
+    @Column(name = "course_number")
+    private String courseNumber;
+
+    @Column(name = "course_name")
+    private String name;
+
+    @Column(name = "course_topic")
+    private String topic;
+
+    @Column(name = "present_students")
+    private int presentStudents;
+
+    @Column(name = "registeredS_students")
+    private int registeredStudents;
+
+    @Column(name = "event_type")
+    private String eventType;
+
+    @Column(name = "group_name")
+    private String groupName;
+
+    @Column(name = "course_start")
+    private LocalDate courseStart;
+
+    @ManyToMany
+    @JoinTable(name = "users_courses",
+            joinColumns = @JoinColumn(name = "course_id"),
+            inverseJoinColumns = @JoinColumn(name = "users_id"))
+    private List<User> users;
+
+}
diff --git a/Natlab/src/main/java/fu/berlin/swp/datenverwaltung2020/natlab/Natlab/entity/User.java b/Natlab/src/main/java/fu/berlin/swp/datenverwaltung2020/natlab/Natlab/entity/User.java
new file mode 100644
index 0000000..5f72b3a
--- /dev/null
+++ b/Natlab/src/main/java/fu/berlin/swp/datenverwaltung2020/natlab/Natlab/entity/User.java
@@ -0,0 +1,37 @@
+package fu.berlin.swp.datenverwaltung2020.natlab.Natlab.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Entity
+@Table(name = "users")
+public class User {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    @Column(name = "users_id")
+    private int id;
+
+    @Column(name = "first_name")
+    private String firstName;
+
+    @Column(name = "last_name")
+    private String lastName;
+
+    @Column(name = "email")
+    private String email;
+
+    @Column(name = "password")
+    private String password;
+
+    @ManyToMany(mappedBy = "users")
+    private List<Course> courses;
+
+}
diff --git a/Natlab/src/main/resources/application.properties b/Natlab/src/main/resources/application.properties
index 6996dba..93f6b05 100644
--- a/Natlab/src/main/resources/application.properties
+++ b/Natlab/src/main/resources/application.properties
@@ -4,9 +4,9 @@ spring.datasource.driver-class-name=org.postgresql.Driver
 spring.datasource.username=postgres
 spring.datasource.password=
 
-# The SQL dialect makes Hibernate generate better SQL for the chosen database
-spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
+spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
+spring.jpa.database-platform=org.hibernate.dialect.PostgreSQL9Dialect
+
+spring.jpa.hibernate.ddl-auto=update
 
-# Hibernate ddl auto (create, create-drop, validate, update)
-spring.jpa.hibernate.ddl-auto = update
 
-- 
GitLab