बेस क्लास एक्सप्रेशन आपको एग्रीगेशन लागू करने की अनुमति नहीं देता है। यदि आप ध्यान दें, तो आपका अन्यथा खंड वास्तव में NumberExpression देता है। आपको केवल अभिव्यक्ति के बजाय उस प्रकार का उपयोग करना है। तो आपका कोड बन सकता है:
NumberExpression<Integer> sourceCases = qTable.source.
when(matchedValue1).then(new Integer(1)).
otherwise(new Integer(0));
NumberExpression<Integer> newAccountCases = qTable.isNew.
when(matchedValue2).then(new Integer(1)).
otherwise(new Integer(0));
return queryDslJdbcTemplate.queryForObject(sqlQuery,
new Mapping(qTable.filed1,
qTable.filed2,
qTable.id.count(),
sourceCases.sum(),
newAccountCases.sum());