假如一個教室裏有上萬個學生,教室和學生是一對多的映射關係,通過學生id返回教室對象,但返回的教室對象所包含的學生對象確實全部的學生,自然性能比較低下,改進代碼如下。
通過criteria進行查詢
criteria.createAlias("studentList","s",CriteriaSpecification.LEFT_JOIN).add(Restrictions.eq("s.id", studentId));
Classroom classroom=criteria.list().get(0);
返回的教室對象所包含的學生集合只包含了一個學生