如何在JPA critera API中做一个独特的计数?

Pio*_*otr 12 java hibernate jpa criteria-api

我想这样做但是使用标准API代替:

select count(distinct e) from Event e, IN(e.userAccessPermissions) p where p.principal = :principal and p.permission in (:permissions)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Jak*_*vec 25

您可以在CriteriaBuilder上使用countDistinct

criteriaQuery.select(criteriaBuilder.countDistinct(entityRoot))
Run Code Online (Sandbox Code Playgroud)