package com.nju.edu.eval.data.entity; import com.nju.edu.eval.publicdatas.enums.UserRole; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import javax.persistence.*; import java.util.ArrayList; import java.util.List; /** * @author mars */ @Data @Entity @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor @Table(name = "user") public class User { @Id private Integer id; @Enumerated(EnumType.STRING) private UserRole role; private String name; private String email; private String phone; /** * 学生参加的考试 中间表是score */ @ManyToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) @JoinTable(name = "score", joinColumns = @JoinColumn(name = "student_id"), inverseJoinColumns = @JoinColumn(name = "exam_id")) private List exams = new ArrayList<>(); /** * 某个学生考试的个人成绩报告集合 */ @OneToMany(cascade = CascadeType.MERGE, fetch = FetchType.LAZY) private List scores; }