【发布时间】:2013-09-24 13:34:50
【问题描述】:
我有一个简单的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)。有任何解决方法。
非常感谢。
【问题讨论】:
标签: java hibernate criteria projection