Hibernate分离标准总和

时间:2016-09-01 11:54:41

标签: java postgresql hibernate hibernate-criteria

这是我的第一篇文章,我通常会在这里找到答案,但这次我很难过。

下面是两个sql查询 - 首先获取值然后执行" sum"结果几乎将持续时间减半,但用Hibernate Criteria复制这个并不是那么直接。

从相关帖子中我发现看起来答案很可能是一些DetachedCriteria函数,但是我找不到任何与" sum"一起使用的例子。

SELECT (COUNT(DISTINCT(account))) FROM history;
duration 6363ms

SELECT COUNT(*) FROM (SELECT DISTINCT account);
duration 3624ms

我的第一个查询的Hibernate标准:

    Session session = sessionFactory.openSession();

    ProjectionList proj = Projections.projectionList()
            .add(Projections.countDistinct("account"));

    Criteria crit = session.createCriteria(History.class)
        .setProjection(proj);

    System.out.println(crit.list());

0 个答案:

没有答案