diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/group/Group.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/group/Group.java index 64c0adb41ac5e017c044a20e92485a37ec6cf1cd..3bb7c5418829964c5f21656cd39b1d74ae901464 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/group/Group.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/group/Group.java @@ -42,16 +42,18 @@ public class Group { @Column(name = "group_name") String groupName; - @OneToMany(mappedBy = "group") - @JsonIgnoreProperties({"password", "group"}) - @OnDelete(action = OnDeleteAction.CASCADE) + @ManyToMany + @JoinTable(name = "users_groups", + joinColumns = @JoinColumn(name = "group_id"), + inverseJoinColumns = @JoinColumn(name = "username")) + @JsonIgnoreProperties({"groups"}) private List<User> users; @ManyToMany @JoinTable(name = "group_achievement", joinColumns = @JoinColumn(name = "group_id"), - inverseJoinColumns = @JoinColumn(name = "achievement_name")) + inverseJoinColumns = @JoinColumn(name = "username")) @JsonIgnoreProperties({"groups"}) private List<Achievement> achievements; diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/user/User.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/user/User.java index 12682036959cb04b7ec7c01e1d1c09d2636db337..35e86730ba3ab6f3a73445c0967eaffb61327876 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/user/User.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/user/User.java @@ -8,6 +8,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import ntnu.idatt2016.v233.SmartMat.dto.enums.Authority; +import ntnu.idatt2016.v233.SmartMat.entity.group.Achievement; import ntnu.idatt2016.v233.SmartMat.entity.group.Group; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; @@ -41,10 +42,10 @@ public class User implements UserDetails { @Column(name = "enabled") private boolean enabled; - @Column + @Column(name = "email") private String email; - @Column + @Column (name = "first_name") private String firstName; @Column(name = "last_name") @@ -53,6 +54,13 @@ public class User implements UserDetails { @Column(name = "birthdate") private Date dateOfBirth; + @ManyToMany + @JoinTable(name = "users_groups", + joinColumns = @JoinColumn(name = "username"), + inverseJoinColumns = @JoinColumn(name = "group_id")) + @JsonIgnoreProperties({"users"}) + private List<Group> groups; + @Enumerated(EnumType.STRING) private Authority authority;