我有一个简单Criteria
的方法,用于获取我有 ID 的学生的学校我只需要学校而不是学生我有一个简单的编码,例如
public School loadSchool(Integer studentID)
{
final Session session = getHibernateTemplate().getSessionFactory().openSession();
final Criteria like = session.createCriteria(Student.class)
.add(idEq(studentID))
.setFetchMode("School",FetchMode.JOIN);
final School retValue = ((Student)like.uniqueResult()).getSchool();
session.close();
return retValue;
}
如您所见,我也检索到Student and the School
了我只需要School
我的问题
1)。除了我可以提取[从数据库中检索]之外setProjections()
,还有一种方法只能提取[从数据库中检索]而School fields
不是Student fields
因为有很多字段,并且是一种令人讨厌的列出所有字段setProjection
并影响性能之类的东西
setProjectionOnlyPropertiesForClass(School.class)
.
2)。有任何解决方法。
多谢。