1

我在 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") ));
4

0 回答 0