Skip to content

Commit 62d364a

Browse files
author
Hattinger04
committed
adding more ideas
1 parent 7658e41 commit 62d364a

File tree

5 files changed

+89
-7
lines changed

5 files changed

+89
-7
lines changed

src/main/java/io/github/Hattinger04/course/Course.java

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,39 @@
11
package 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

513
import io.github.Hattinger04.user.model.User;
14+
import lombok.AllArgsConstructor;
615
import lombok.Getter;
716
import lombok.Setter;
817

18+
//@Entity
19+
//@Table(name = "course")
20+
@AllArgsConstructor
921
public 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;

src/main/java/io/github/Hattinger04/course/Exercise.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
package io.github.Hattinger04.course;
22

3+
import javax.persistence.Entity;
4+
import javax.persistence.Table;
5+
6+
import lombok.AllArgsConstructor;
37
import lombok.Getter;
48
import lombok.Setter;
59

10+
//@Entity
11+
//@Table(name = "exercise")
12+
@AllArgsConstructor
613
public 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
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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+
}

src/main/java/io/github/Hattinger04/user/model/User.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import org.hibernate.validator.constraints.Length;
1818

19+
import io.github.Hattinger04.course.Course;
1920
import io.github.Hattinger04.role.Role;
2021
import lombok.AllArgsConstructor;
2122
import 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
}

0 commit comments

Comments
 (0)