【问题标题】:JPA Criteria Retrieving Item and CountJPA 标准检索项目和计数
【发布时间】:2017-02-15 18:50:03
【问题描述】:

我需要使用 JPA Criteria API 从格式的数据中返回摘要

“不同值” -> 不同值的计数

    CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    CriteriaQuery<Tuple> criteriaQuery = criteriaBuilder.createQuery(Tuple.class);
    Root<User> root = criteriaQuery.from(User.class);

    // this is where I want to get a count of the user levels and how many users per level
    criteriaQuery.select(criteriaBuilder.tuple(
        root.get(User_.userLevel),
        // user count?
    ));

我更喜欢通过条件 API 执行此操作。

谁能帮忙?

杰森

【问题讨论】:

    标签: java jpa jpa-2.0


    【解决方案1】:

    这应该可以解决问题:

    CriteriaBuilder cb = entityManager.getCriteriaBuilder();
    CriteriaQuery<Tuple> tupleQuery = cb.createTupleQuery();
    Root<User> root = tupleQuery.from( User.class );
    
    tupleQuery
      .select( cb.tuple( root.get( User_.userLevel ), cb.distinctCount( root ) ) )
      .groupBy( root.get( User_.userLevel ) );
    
    List<Tuple> results = entityManager.createQuery( tupleQuery ).getResultList();
    

    【讨论】:

    • 在元组查询中对齐根的好例子!
    猜你喜欢
    • 1970-01-01
    • 2018-08-22
    • 2017-07-07
    • 2019-07-13
    • 2017-11-07
    • 1970-01-01
    • 2023-03-31
    • 2011-05-04
    • 1970-01-01
    相关资源
    最近更新 更多