如何使用JPA条件替换选择计数中的复合键

时间:2012-11-22 23:01:38

标签: hibernate jpa jpa-2.0

在休眠HHH-5419

中发现此错误

我需要了解如何用复合键替换Root元素的类型,例如用星号。

更新hibernate,并使用JPQL而不是答案。

1 个答案:

答案 0 :(得分:3)

没关系。 用它替换了复合键的查询:

    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));