私はいくつかの学問的課題に取り組んでいます。状況は以下の通りです:
私は3つの単純なデータベーステーブルとそれらから生成されたJava @Entityクラスを持っています。与えられたタスクのJPAクエリー
表マーク:
STUDENT_ID(PK)
SUBJECT_ID(PK)
MARK
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;
(...)
}
表学生: ID(PK)
NAME
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によって解決できます。
私はあなたに助けを求めています。
ありがとうございます。