Java 如何在Hibernate 5 CriteriaBuilder中使用条件条件获取计数

Java 如何在Hibernate 5 CriteriaBuilder中使用条件条件获取计数,java,hibernate,criteria,hibernate-5.x,Java,Hibernate,Criteria,Hibernate 5.x,当我检查下面的代码时,我得到了所有记录的计数。不符合条件 CriteriaBuilder builder = getCurrentSession().getCriteriaBuilder(); CriteriaQuery<Long> countQuery = builder.createQuery(Long.class); countQuery.select(builder.count(countQuery.from(ViewEmployees.class)));

当我检查下面的代码时,我得到了所有记录的计数。不符合条件

CriteriaBuilder builder = getCurrentSession().getCriteriaBuilder();

    CriteriaQuery<Long> countQuery = builder.createQuery(Long.class);
    countQuery.select(builder.count(countQuery.from(ViewEmployees.class)));
    Long q1 = getCurrentSession().createQuery(countQuery).getSingleResult();
你能请任何人帮我用CriteriaBuilder解决这个问题吗

CriteriaQuery<ViewEmployees> query = builder.createQuery(ViewEmployees.class);

        Root<ViewEmployees> root = query.from(ViewEmployees.class);

        List<Predicate> predicates = new ArrayList<Predicate>();

        // Equal Query
        if (StringUtils.isNotBlank(searchConditions.getCode())) {
            predicates.add(builder.and(builder.equal(root.get("code"), searchConditions.getCode())));
        }
Criteria criteria = getApplicationEventConditions(searchCond);
        SearchTotals searchTotals = new SearchTotals();
        ProjectionList p1 = Projections.projectionList();
        p1.add(Projections.rowCount());
        criteria.setProjection(p1);
        List l = criteria.list();
        searchTotals.setTotalSize((Long) l.get(0));