我的数据库中有三个表,一个 Student、一个 Classe 和一个 Assignement。POJO 如下:
Student{
Classe currentClasse;
Set<Assignement> assignements;
}
Classe{
Set<Assignement> assignements;
SchoolYear schoolYear;
}
Assignement{
Classe classe;
Student student;
Boolean pass;
}
基本上,一个学生有一个当前班级和一个作业列表(他被分配到的所有班级)。
我的问题是,在休眠状态下,我想知道所有没有班级(is null
)或被分配到属于学年“1”但已pass
设置为的班级的学生true
我设法制定了两个单独的标准来获得我想要的东西:
session.createCriteria(Student.class)
.add(Restrictions.isNull("classeActuelle"))
和
session.createCriteria(Student.class)
.createAlias("assignements", "a")
.add(Restrictions.eq("a.pass", Boolean.TRUE)
.createAlias("a.classe","c")
.add(Restrictions.eq("c.schoolYear", "1"))
但我不知道如何将这两个标准与或...“统一”起来