diff --git a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/User.java b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/User.java index 9243a3fd92c86636075895e7aeb36fc7e4f2a368..9fd65ff35cd49e5da4730c45af0aefc12c4d38b2 100644 --- a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/User.java +++ b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/User.java @@ -1,12 +1,22 @@ package org.fuseri.modulelanguageschool.user; +import jakarta.persistence.ElementCollection; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.Table; import org.fuseri.model.dto.user.Language; import org.fuseri.model.dto.user.ProficiencyLevel; import org.fuseri.modulelanguageschool.common.DomainObject; -import jakarta.persistence.*; import lombok.*; +import org.fuseri.modulelanguageschool.course.Course; -import java.util.List; +import java.util.Map; +import java.util.Set; @Getter @Setter @@ -32,6 +42,14 @@ public class User extends DomainObject { @Embedded private Address address; - private List<Language> languages; - private List<ProficiencyLevel> proficiencyLevels; -} + + @ManyToMany + @JoinTable(name = "myCourses", + joinColumns = @JoinColumn(name = "studentId"), + inverseJoinColumns = @JoinColumn(name = "courseId") + ) + private Set<Course> courses; + + @ElementCollection + private Map<Language,ProficiencyLevel> languageProficiency; +} \ No newline at end of file