【发布时间】:2012-05-01 02:31:13
【问题描述】:
我正在做一些学术任务,但我被困住了。情况如下:
我有三个简单的数据库表和从它们生成的 Java @Entity 类。
表标记:
STUDENT_ID (PK)
SUBJECT_ID (PK)
马克
public class Mark implements Serializable {
private BigDecimal mark;
@Id
@Column(name = "STUDENT_ID", nullable = false, insertable = false, updatable = false)
private BigDecimal studentId;
@Id
@Column(name = "SUBJECT_ID", nullable = false, insertable = false, updatable = false)
private BigDecimal subjectId;
@ManyToOne
@JoinColumn(name = "SUBJECT_ID")
private Subject subject;
@ManyToOne
@JoinColumn(name = "STUDENT_ID")
private Student student;
(...)
}
表学生:
INDEX_NO (PK)
FNAME
LNAME
FACULTY_ID
public class Student implements Serializable {
@Column(name = "FACULTY_ID", nullable = false)
private BigDecimal facultyId;
@Column(nullable = false, length = 20)
private String fname;
@Id
@Column(name = "INDEX_NO", nullable = false)
private BigDecimal indexNo;
@Column(nullable = false, length = 20)
private String lname;
@OneToMany(mappedBy = "student")
private List<Mark> marksList1;
(...)
}
表学生:
身份证(PK)
姓名
public class Subject implements Serializable {
@Id
@Column(nullable = false)
private BigDecimal id;
@Column(nullable = false, length = 60)
private String name;
@OneToMany(mappedBy = "subject")
private List<Mark> marksList;
(...)
}
任务是获取两个列表:
1. 尚未获得所有科目成绩的学生名单。
2.特定学生不得分的科目列表。
我不太擅长SQL,所以查询构造有问题。它可以通过任何类似 JPA 的方式来解决,即 JPQL、Criteria API。
所以我请你帮忙。
感谢您的关注。
【问题讨论】:
标签: database jpa jpql criteria-api