假如一个教室里有上万个学生,教室和学生是一对多的映射关系,通过学生id返回教室对象,但返回的教室对象所包含的学生对象确实全部的学生,自然性能比较低下,改进代码如下。
通过criteria进行查询
criteria.createAlias("studentList","s",CriteriaSpecification.LEFT_JOIN).add(Restrictions.eq("s.id", studentId));
Classroom classroom=criteria.list().get(0);
返回的教室对象所包含的学生集合只包含了一个学生