hibernate - How to have a course, student, progress relation in spring boot with JPA & Hibernate?
问题描述
I am trying to implement a Student, Course and Progress relation in spring boot. I have a Set of students in Course who are enrolled for that Course. I want to track progress of each student. My entities are.
Courses
@Entity
@Table(name = "Course")
public class Course {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "id")
private int courseId;
@Column(name = "name")
private String courseName;
@ManyToMany(fetch = FetchType.LAZY,
cascade = {
CascadeType.PERSIST,
CascadeType.MERGE
})
@JoinTable(name = "UserCourse",
joinColumns = { @JoinColumn(name = "user") },
inverseJoinColumns = { @JoinColumn(name = "course") })
private Set<UserInfo> users = new HashSet<>();
}
UserInfo
@Entity
@Table(name = "UserInfo")
public class UserInfo {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "id")
private Integer userId;
@Column(name = "fname")
private String firstName;
@Column(name = "lname")
private String lastName;
@Column(name = "email")
private String userEmail;
}
How can I track progress of each user who has opted for the course. It should be a float value.
解决方案
通过将进度列映射到实体,将进度列添加到 UserCourse 表中。见方法:
推荐阅读
- terraform - 配置简单的 Windows EC2 实例想要破坏 VPC 和资源
- amazon-web-services - AWS S3 put 对象需要更多时间来上传文件
- python - PyTorch 中的高效指标评估
- java - 测试自动化在移动设备上捕获网络数据
- networking - 来自内核空间和用户空间的 eBPF(BCC) 目标 IP 地址不匹配
- java - Spring控制器获取多维数组作为post参数
- c++ - 视觉工作室不断重建和智能感知破碎
- neo4j - 获取 NEO4j 错误“预计 Long(0) 是 org.neo4j.values.storable.TextValue,但它是 org.neo4j.values.storable.LongValue”:1
- java - 确定日期早于或晚于年龄
- google-cloud-platform - 如何使用 Google 语音 API (REST) 链接/同步完整的联系人列表