加入查询代码
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery<SchoolTO> cquery = builder.createQuery(SchoolTO.class);
Root<SchoolTO> root = cquery.from(SchoolTO.class);
Join<SchoolTO, StudentTO> join = root.join(SchoolTO_.studentList);
cquery.select(root);
cquery.where(builder.equal(join.get(StudentTO_.name), "john"));
cquery.distinct(true);
List<School> list = session.createQuery(cquery).getResultList();
学校班级结构
public class School
{
private List<Student> list;
}
学生班级结构
public class Student
{
private School school;
}
数据
加入Hibernate代码的实际结果
预期结果
hibernate join让我所有学校都有学生名字&#34; john&#34;。但是当我访问学校对象内的学生对象列表时,它会有所有名字的学生。我试图在预期的结果下实现一个。让我知道我在这里做错了什么。提前致谢