File tree Expand file tree Collapse file tree 5 files changed +89
-7
lines changed
src/main/java/io/github/Hattinger04 Expand file tree Collapse file tree 5 files changed +89
-7
lines changed Original file line number Diff line number Diff line change 11package io .github .Hattinger04 .course ;
22
3- import java .util .List ;
3+ import java .util .Set ;
4+
5+ import javax .persistence .Column ;
6+ import javax .persistence .Entity ;
7+ import javax .persistence .GeneratedValue ;
8+ import javax .persistence .GenerationType ;
9+ import javax .persistence .Id ;
10+ import javax .persistence .Table ;
11+
412
513import io .github .Hattinger04 .user .model .User ;
14+ import lombok .AllArgsConstructor ;
615import lombok .Getter ;
716import lombok .Setter ;
817
18+ //@Entity
19+ //@Table(name = "course")
20+ @ AllArgsConstructor
921public class Course {
1022
23+ // @Id
24+ // @GeneratedValue(strategy = GenerationType.IDENTITY)
25+ // @Column(name = "user_id")
1126 @ Getter @ Setter
12- private int id ; // TODO: unique
27+ private int id ; // TODO: primary_key
1328
1429 @ Getter @ Setter
1530 private String name ; // TODO: unique
1631
1732 @ Getter @ Setter
18- private List <User > teacher ; // in case of multiple teacher in one group
33+ private Set <User > teacher ; // in case of multiple teacher in one group
1934
2035 @ Getter @ Setter
21- private List <User > students ;
36+ private Set <User > students ;
2237
2338 public Course (String name ) {
2439 this .name = name ;
Original file line number Diff line number Diff line change 11package io .github .Hattinger04 .course ;
22
3+ import javax .persistence .Entity ;
4+ import javax .persistence .Table ;
5+
6+ import lombok .AllArgsConstructor ;
37import lombok .Getter ;
48import lombok .Setter ;
59
10+ //@Entity
11+ //@Table(name = "exercise")
12+ @ AllArgsConstructor
613public class Exercise {
714
815 @ Getter @ Setter
9- private int id ; // TODO: unique
16+ private int id ; // TODO: primary_key
1017
1118 @ Getter @ Setter
1219 private String name ; // TODO: unique
@@ -19,5 +26,14 @@ public void setText(String text) {
1926 // TODO: if already published: publish changes to all students
2027 }
2128
22- // does exercise refer to student or course?
29+ @ Getter @ Setter
30+ private int course_id ;
31+
32+ @ Getter @ Setter
33+ private int teacher_id ;
34+
35+ @ Getter @ Setter
36+ private int student_id ;
37+
38+
2339}
Original file line number Diff line number Diff line change 1+ package io .github .Hattinger04 .course ;
2+
3+ import javax .persistence .Entity ;
4+ import javax .persistence .Table ;
5+
6+
7+ import lombok .AllArgsConstructor ;
8+ import lombok .Getter ;
9+ import lombok .Setter ;
10+
11+ //@Entity
12+ //@Table(name = "student")
13+ @ AllArgsConstructor
14+ public class Student {
15+
16+ @ Getter @ Setter
17+ private int id ; // TODO: primary_key
18+
19+ @ Getter @ Setter
20+ private String name ; // TODO: unique
21+
22+ }
Original file line number Diff line number Diff line change 1+ package io .github .Hattinger04 .course ;
2+
3+ import javax .persistence .Entity ;
4+ import javax .persistence .Table ;
5+
6+
7+ import lombok .AllArgsConstructor ;
8+ import lombok .Getter ;
9+ import lombok .Setter ;
10+
11+ //@Entity
12+ //@Table(name = "teacher")
13+ @ AllArgsConstructor
14+ public class Teacher {
15+
16+ @ Getter @ Setter
17+ private int id ; // TODO: primary_key
18+
19+ @ Getter @ Setter
20+ private String name ; // TODO: unique
21+
22+ }
Original file line number Diff line number Diff line change 1616
1717import org .hibernate .validator .constraints .Length ;
1818
19+ import io .github .Hattinger04 .course .Course ;
1920import io .github .Hattinger04 .role .Role ;
2021import lombok .AllArgsConstructor ;
2122import lombok .Builder ;
@@ -50,5 +51,11 @@ public class User {
5051 @ JoinTable (name = "user_role" , joinColumns = @ JoinColumn (name = "user_id" ), inverseJoinColumns = @ JoinColumn (name = "role_id" ))
5152 private Set <Role > roles ;
5253
53-
54+ /*
55+ Not tested!
56+ Connection between course and user (n - m solution)
57+ @ManyToMany(cascade = CascadeType.MERGE)
58+ @JoinTable(name = "user_course", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "course_id"))
59+ private Set<Course> courses;
60+ */
5461}
You can’t perform that action at this time.
0 commit comments