如何在JPA critera API中进行非重复计数?

2022-09-02 11:56:02

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

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

有什么想法吗?


答案 1

您可以在 CriteriaBuilder 上使用 countDistinct

criteriaQuery.select(criteriaBuilder.countDistinct(entityRoot))

答案 2

在查询中使用 c.distinct(true)。

有关更多示例,请参阅 http://relation.to/Bloggers/ATypesafeCriteriaQueryAPIForJPA


推荐