'JPA Criteria, use subquery result grouping by as nested query

I have this query which i need to write it with JPA Criteria :

SELECT c.* 
FROM product_manager.tmp c 
JOIN ( SELECT service, 
              codeRegroupement, 
              COUNT(*) 
       FROM product_manager.tmp 
       GROUP BY service, codeRegroupement,  
       HAVING count(*) > 1 
      ) b ON c.service = b.service AND c.codeRegroupement = b.codeRegroupement;

for the instant i could write the nested Query but cannot used it as a nested query :

//main Query
 CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    CriteriaQuery<Tmp> criteriaQuery = criteriaBuilder.createQuery(Tmp.class);
    Root<Tmp> root = criteriaQuery.from(Tmp.class);
//nested Query
    CriteriaQuery<Tmp> subCriteriaQuery = criteriaBuilder.createQuery(Tmp.class);
    Root<Tmp> subRoot = subCriteriaQuery.from(Tmp.class);
    subCriteriaQuery.groupBy(subRoot.get("codeRegroupement") , subRoot.get("service"));
    subCriteriaQuery.having(criteriaBuilder.gt(criteriaBuilder.count(subRoot), 1));
    subCriteriaQuery.multiselect(subRoot.get("codeRegroupement") , subRoot.get("service"));

then how to use subCriteriaQuery into criteriaQuery to get one Query ?

Query queryB = entityManager.createQuery(subCriteriaQuery);
queryB.getResultList();


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source