我需要了解如何用复合键(例如用星号)替换类型的根元素。
更新休眠,并使用 JPQL 不是答案。
没关系。用它替换了复合键的查询:
CriteriaBuilder qb = entityManager.getCriteriaBuilder();
CriteriaQuery<Long> cq = qb.createQuery(Long.class);
Root<T> root = cq.from(entityClass);
if (root.getModel().getIdType() != null)
cq.select(qb.count(root.get("someAnotherAttribute")));
else
cq.select(qb.count(root));