Jelajahi Sumber

Fix Relational Bigs

Eldar Mukhtarov 10 bulan lalu
induk
melakukan
44caf98610

+ 15 - 4
project/backend_springboot/src/main/java/pl/dmcs/eldarmuk/backend_springboot/model/Account.java

@@ -1,13 +1,13 @@
 package pl.dmcs.eldarmuk.backend_springboot.model;
 
+import jakarta.persistence.*;
 import org.hibernate.validator.constraints.Length;
 
-import jakarta.persistence.Entity;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.GenerationType;
-import jakarta.persistence.Id;
 import jakarta.validation.constraints.NotBlank;
 
+import java.util.HashSet;
+import java.util.Set;
+
 @Entity
 public class Account {
     @Id
@@ -22,6 +22,9 @@ public class Account {
     @Length(min = 6, max = 100)
     private String password;
 
+    @ManyToMany(fetch = FetchType.EAGER)
+    private Set<Role> roles = new HashSet<>();
+
     public Account() {}
 
     public Account(@NotBlank @Length(min = 3, max = 50) String username, @NotBlank @Length(min = 6, max = 100) String password) {
@@ -52,4 +55,12 @@ public class Account {
     public void setPassword(String password) {
         this.password = password;
     }
+
+    public Set<Role> getRoles() {
+        return roles;
+    }
+
+    public void setRoles(Set<Role> roles) {
+        this.roles = roles;
+    }
 }

+ 16 - 0
project/backend_springboot/src/main/java/pl/dmcs/eldarmuk/backend_springboot/model/Student.java

@@ -1,7 +1,10 @@
 package pl.dmcs.eldarmuk.backend_springboot.model;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import jakarta.persistence.*;
 
+import java.util.List;
+
 @Entity
 public class Student {
     @Id
@@ -11,8 +14,13 @@ public class Student {
     private String lastName;
 
     @OneToOne(cascade = CascadeType.ALL)
+    @JoinColumn(name = "account_id")
     private Account account;
 
+    @OneToMany(mappedBy = "student", cascade = CascadeType.ALL)
+    @JsonIgnore
+    private List<Grade> grades;
+
     public Student() {}
 
     public Student(Long id, String firstName, String lastName, String email) {
@@ -52,4 +60,12 @@ public class Student {
     public void setAccount(Account account) {
         this.account = account;
     }
+
+    public List<Grade> getGrades() {
+        return grades;
+    }
+
+    public void setGrades(List<Grade> grades) {
+        this.grades = grades;
+    }
 }

+ 1 - 0
project/backend_springboot/src/main/java/pl/dmcs/eldarmuk/backend_springboot/model/Teacher.java

@@ -14,6 +14,7 @@ public class Teacher {
     private String lastName;
 
     @OneToOne(cascade = CascadeType.ALL)
+    @JoinColumn(name = "account_id")
     private Account account;
 
     @OneToMany(mappedBy="teacher", cascade = CascadeType.ALL)