【发布时间】:2013-06-29 23:19:36
【问题描述】:
我的数据库中有三个表,一个 Student、一个 Classe 和一个 Assignement。 POJO 如下:
Student{
Classe currentClasse;
Set<Assignement> assignements;
}
Classe{
Set<Assignement> assignements;
SchoolYear schoolYear;
}
Assignement{
Classe classe;
Student student;
Boolean pass;
}
基本上,一个学生有一个当前班级和一个作业列表(他被分配到的所有班级)。
我的问题是在hibernate下,我想知道所有没有班级的学生(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"))
但我不知道如何将这两个标准与或“统一”...
【问题讨论】:
标签: hibernate jakarta-ee