我试图得到所有未分析的文章计数(Article.class) (分析==假)。可悲的是,下面的代码返回了绝对错误的数字。有人知道为什么吗?
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Long> query = cb.createQuery(Long.class);
query.select(cb.count(query.from(Article.class)));
Root<Article> articles = query.from(Article.class);
Predicate condition = cb.isFalse(articles.get(Article_.analyzed));
query.where(condition);
TypedQuery<Long> unanalyzedArticlesAmount = entityManager.createQuery(query);
return unanalyzedArticlesAmount.getSingleResult();发布于 2018-05-23 14:56:33
最后阅读这篇文章:How to count the number of rows of a JPA 2 CriteriaQuery in a generic JPA DAO?
并找到了以下解决方案:
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery query = cb.createQuery();
Root<Article> root = query.from(Article.class);
query.select(cb.count(root));
Predicate condition = cb.isFalse(root.get(Article_.analyzed));
query.where(condition);
TypedQuery<Long> unanalyzedArticlesAmount = entityManager.createQuery(query);
return unanalyzedArticlesAmount.getSingleResult();https://stackoverflow.com/questions/18866484
复制相似问题