我想要一个特定表的记录数,但我的查询返回列表我希望整数作为结果 我的代码在这里
public int<BorrowerEvaluationDTO> findEvaluations(final String sector, final String investorId) {
return (List<BorrowerEvaluationDTO>) getHibernateTemplate().executeFind(
new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException,
SQLException {
Criteria criteria = session.createCriteria(BorrowerEvaluationDTO.class);
criteria.add(Expression.eq("hasEvaluation", true));
// criteria.setProjection(Projections.distinct(Projections.property("stateOrProvinceId")));
// criteria.setProjection(Projections.distinct(Projections.property("partnerOrganisation")));
if (sector != null && !sector.trim().equals("")) {
criteria.add(Expression.eq("sector", sector));
}
criteria.setProjection(Projections.rowCount());
if (investorId != null && !investorId.trim().equals("")) {
}
return criteria.list().size();
}
;
});
}
答案 0 :(得分:3)
您已声明错误的退货类型
只需尝试更改您的函数即可返回int
并将返回值返回criteria.list().size();
修改强> 的
您可以编写自己的功能。只需将criteria
设为全局。
例如:
public int getListSize()
{
return criteria.list().size();
}