【发布时间】:2018-10-01 09:16:01
【问题描述】:
在我的 Spring Boot 应用程序中,我有一个用户实体,它与实体课程多对多相关(一个用户可以注册多门课程,一门课程可以有多个用户) 而实体课程与实体类是一一对应的(一门课有几门课,而一门课只有一门课)
我正在使用 spring boot 做我的应用程序,并且我说用户已经注册了我必须做的课程:
user.setCourse(course)
userRepository.save(user)
在将课程与用户关联时,我可以说他注册了该课程。但是如何将用户与课程联系起来以了解例如他完成了哪些课程?对于很多课程,我可以过多地利用这种用户关系,当然一对多课程,还是我必须为许多用户与课程创建多关系?
下面是一个实体的小例子,可以更好地说明这种关系:
@Entity
public class User{
private long id;
private String name;
private String password;
@ManyToMany(mappedBy = “enrolledUser”, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable
private List enrolledCourse;
//getters and setters
}
@Entity
public class Course{
private long id;
private String name;
private String description;
@ManyToMany(mappedBy = “enrolledCourse”, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable
private List enrolledUser;
@OnetoMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private List aulas;
//getters and setters
}
@Entity
public class Class{
private long id;
private String name;
private String content;
@ManyToOne(mappedBy = “class”, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable
private Course course;
//getters and setters
}
【问题讨论】:
标签: java spring-boot jpa spring-data