小编Sat*_*h N的帖子

如何使用Hibernate中的group by和sum投影选择多个列

我的MySQL查询是:

SELECT 
    c.first_name, 
    c.middle_name, 
    c.last_name, 
    s.ticker, 
    COUNT(s.ticker), 
    SUM(t.cumulative_qty), 
    SUM(cumulative_balance)
FROM client_master c, security s, transaction_master t 
WHERE c.id = t. client_master_id AND s.id = t.security_id AND t.client_master_id = 4 
GROUP BY t.security_id;
Run Code Online (Sandbox Code Playgroud)

此查询返回精确结果.我想编写具有匹配结果的Hibernate Criteria.这是我试过的:

Criteria criteria = createEntityCriteria(TransactionDetails.class, "tr")
                .createAlias("tr.client", "cl")
                .createAlias("tr.security", "se")
                .add(Restrictions.eq("cl.id", clientId))
                .setProjection(Projections.sum("tr.cumulativeQty"))
                .setProjection(Projections.groupProperty("tr.securityId"));

return  criteria.list();
Run Code Online (Sandbox Code Playgroud)

但这个标准是回归只是一个Listtr.securityId.我想要所有的行.我哪里错了?

hibernate group-by sum projection

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

group-by ×1

hibernate ×1

projection ×1

sum ×1