Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JPA标准查询:getCount+;条件_Jpa_Count_Predicate_Criteriaquery - Fatal编程技术网

JPA标准查询:getCount+;条件

JPA标准查询:getCount+;条件,jpa,count,predicate,criteriaquery,Jpa,Count,Predicate,Criteriaquery,我尝试获取所有未分析的文章(Article.class)计数(analysisted==false)。 遗憾的是,下面的代码返回了完全错误的数字。 有人知道为什么吗 CriteriaBuilder cb = entityManager.getCriteriaBuilder(); CriteriaQuery<Long> query = cb.createQuery(Long.class); query.select(cb.count(query.from(Article.class))

我尝试获取所有未分析的文章(Article.class)计数(analysisted==false)。 遗憾的是,下面的代码返回了完全错误的数字。 有人知道为什么吗

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();
CriteriaBuilder cb=entityManager.getCriteriaBuilder();
CriteriaQuery=cb.createQuery(Long.class);
query.select(cb.count(query.from(Article.class));
根文章=query.from(Article.class);
谓词条件=cb.isFalse(articles.get(articles.analysisd));
查询。何处(条件);
TypedQuery unanalyzedArticlesAmount=entityManager.createQuery(查询);
返回unanalyzedArticlesAmount.getSingleResult();
最后阅读这篇文章:

并找到了以下解决方案:

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();
CriteriaBuilder cb=entityManager.getCriteriaBuilder();
CriteriaQuery=cb.createQuery();
Root=query.from(Article.class);
query.select(cb.count(root));
谓词条件=cb.isFalse(root.get(Article.analysisd));
查询。何处(条件);
TypedQuery unanalyzedArticlesAmount=entityManager.createQuery(查询);
返回unanalyzedArticlesAmount.getSingleResult();