User.java 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package com.nju.edu.eval.data.entity;
  2. import com.nju.edu.eval.publicdatas.enums.UserRole;
  3. import lombok.AllArgsConstructor;
  4. import lombok.Data;
  5. import lombok.EqualsAndHashCode;
  6. import lombok.NoArgsConstructor;
  7. import javax.persistence.*;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10. /**
  11. * @author mars
  12. */
  13. @Data
  14. @Entity
  15. @EqualsAndHashCode
  16. @NoArgsConstructor
  17. @AllArgsConstructor
  18. @Table(name = "user")
  19. public class User {
  20. @Id
  21. private Integer id;
  22. @Enumerated(EnumType.STRING)
  23. private UserRole role;
  24. private String name;
  25. private String email;
  26. private String phone;
  27. /**
  28. * 学生参加的考试 中间表是score
  29. */
  30. @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
  31. @JoinTable(name = "score", joinColumns = @JoinColumn(name = "student_id"),
  32. inverseJoinColumns = @JoinColumn(name = "exam_id"))
  33. private List<Exam> exams = new ArrayList<>();
  34. /**
  35. * 某个学生考试的个人成绩报告集合
  36. */
  37. @OneToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
  38. private List<Score> scores;
  39. }