我在 DetachedCriteria 上组合限制和投影时遇到问题。如果我仅单独使用 Restriction 或 Projections,则该程序可以工作。我怎样才能将这两者结合在一起?
我有以下 sql:
select cTopic.topic ,SUM(cTopic.records) as records
from Topics cTopic
where cTopic.id=? and cTopic.active =?
GROUP BY cTopic.topic
order by cTopic.orderTopics
以下 Java 代码可以在不使用 group by (setProjection) 的情况下正常工作
DetachedCriteria criteria = DetachedCriteria.forClass(Coursetopics.class);
criteria.add(Restrictions.eq("active","Y"));
criteria.add(Restrictions.eq("id.courseid",Id)));
List<Coursetopics> sumList = (List<Coursetopics>) hibernateTemplate
.findByCriteria(criteria);
如果我在最后一行(列表)之前添加以下代码行,则程序无法正常工作。
criteria.setProjection(Projections.projectionList()
.add( Projections.sum("records"))
.add( Projections.groupProperty("topic") ));