java类javax.persistence.criteria.CriteriaBuilder的实例源码

SecurityGroupEntityMgr.java 文件源码 项目:osc-core 阅读 26 收藏 0 点赞 0 评论 0
public static List<SecurityGroup> listByProtectAllAndProjectId(EntityManager em, String projectId) {
    CriteriaBuilder cb = em.getCriteriaBuilder();

    CriteriaQuery<SecurityGroup> query = cb.createQuery(SecurityGroup.class);

    Root<SecurityGroup> root = query.from(SecurityGroup.class);
    query = query.select(root)
            .distinct(true)
            .where(cb.and(
                    cb.equal(root.get("projectId"), projectId),
                    cb.equal(root.get("protectAll"), true)));

    return em.createQuery(query).getResultList();
}
ApplianceManagerConnectorEntityMgr.java 文件源码 项目:osc-core 阅读 26 收藏 0 点赞 0 评论 0
public static boolean isManagerTypeUsed(String managerType, EntityManager em) {

        try {
            CriteriaBuilder cb = em.getCriteriaBuilder();
            CriteriaQuery<Long> cq;
            Root<?> from;

            cq = cb.createQuery(Long.class);
            from = cq.from(ApplianceManagerConnector.class);
            cq = cq.select(cb.count(from))
                    .where(cb.equal(from.get("managerType"), managerType));

            Long count1 = em.createQuery(cq).getSingleResult();

            cq = cb.createQuery(Long.class);
            from = cq.from(Appliance.class);
            cq = cq.select(cb.count(from))
                    .where(cb.equal(from.get("managerType"), managerType));

            Long count2 = em.createQuery(cq).getSingleResult();

            return count1 > 0 || count2 > 0;
        } catch (Exception e) {
            return true;
        }

    }
ExtGraphRepository.java 文件源码 项目:WordnetLoom 阅读 23 收藏 0 点赞 0 评论 0
public Collection<ExtGraph> findByWordAndPackageNo(String word, int packageno) {

        Long pkg = new Long(packageno);
        CriteriaBuilder criteriaBuilder = getEntityManager().getCriteriaBuilder();
        CriteriaQuery<ExtGraph> criteriaQuery = criteriaBuilder.createQuery(ExtGraph.class
        );

        Root<ExtGraph> root = criteriaQuery.from(ExtGraph.class);
        Join<ExtGraph, Synset> synset = root.join("synset", JoinType.INNER);
        Join<Synset, Sense> sts = synset.join("sense", JoinType.LEFT);
        List<Predicate> criteriaList = new ArrayList<>();

        Predicate firstCondition = criteriaBuilder.equal(root.get("word"), word);
        criteriaList.add(firstCondition);

        Predicate secondCondition = criteriaBuilder.equal(root.get("packageno"), pkg);
        criteriaList.add(secondCondition);

        Predicate thirdCondition = criteriaBuilder.equal(sts.get("senseIndex"), 0);
        criteriaList.add(thirdCondition);

        criteriaQuery.where(criteriaBuilder.and(criteriaList.toArray(new Predicate[0])));
        final TypedQuery<ExtGraph> query = getEntityManager().createQuery(criteriaQuery);

        return query.getResultList();
    }
NodeResultDaoImpl.java 文件源码 项目:flow-platform 阅读 32 收藏 0 点赞 0 评论 0
@Override
public List<NodeResult> list(BigInteger jobId) {
    return execute(session -> {
        CriteriaBuilder builder = session.getCriteriaBuilder();
        CriteriaQuery<NodeResult> select = builder.createQuery(NodeResult.class);
        Root<NodeResult> nodeResultRoot = select.from(NodeResult.class);
        Predicate aCondition = builder.equal(nodeResultRoot.get("key").get("jobId"), jobId);
        select.where(aCondition);
        select.orderBy(builder.asc(nodeResultRoot.get("order")));
        return session.createQuery(select).list();
    });
}
UserDataSetDAO.java 文件源码 项目:otus_java_2017_06 阅读 34 收藏 0 点赞 0 评论 0
public UserDataSet readByName(String name) {
    CriteriaBuilder builder = session.getCriteriaBuilder();
    CriteriaQuery<UserDataSet> criteria = builder.createQuery(UserDataSet.class);
    Root<UserDataSet> from = criteria.from(UserDataSet.class);
    criteria.where(builder.equal(from.get("name"), name));
    Query<UserDataSet> query = session.createQuery(criteria);
    return query.uniqueResult();
}
TaskEntityMgr.java 文件源码 项目:osc-core 阅读 25 收藏 0 点赞 0 评论 0
public List<TaskRecord> getUncompletedTasks() {
    CriteriaBuilder cb = this.em.getCriteriaBuilder();

    CriteriaQuery<TaskRecord> query = cb.createQuery(TaskRecord.class);
    Root<TaskRecord> from = query.from(TaskRecord.class);

    query = query.select(from).where(
            cb.notEqual(from.get("state"), COMPLETED));

    return this.em.createQuery(query).getResultList();
}
PaginationDao.java 文件源码 项目:bootstrap 阅读 33 收藏 0 点赞 0 评论 0
/**
 * Creates a new count query for the given {@link Specification}.
 */
private <T> TypedQuery<Long> getCountQuery(final Class<T> entityType, final Specification<T> spec) {

    final CriteriaBuilder builder = em.getCriteriaBuilder();
    final CriteriaQuery<Long> query = builder.createQuery(Long.class);

    final Root<T> root = query.from(entityType);
    applySpecificationToCriteria(root, spec, query);
    query.select(builder.count(root));

    return em.createQuery(query);
}
SecurityGroupEntityMgr.java 文件源码 项目:osc-core 阅读 30 收藏 0 点赞 0 评论 0
public static List<SecurityGroup> listOtherSecurityGroupsWithSameSFC(EntityManager em, SecurityGroup sg) {
    CriteriaBuilder cb = em.getCriteriaBuilder();

    CriteriaQuery<SecurityGroup> query = cb.createQuery(SecurityGroup.class);

    Root<SecurityGroup> root = query.from(SecurityGroup.class);
    query = query.select(root).where(cb.equal(root.join("serviceFunctionChain"), sg.getServiceFunctionChain()),
            cb.equal(root.get("projectId"), sg.getProjectId()), cb.notEqual(root, sg),
            cb.isNotNull(root.get("networkElementId")));

    List<SecurityGroup> list = em.createQuery(query).getResultList();
    return list;
}
BaseFilterSpecification.java 文件源码 项目:owl 阅读 38 收藏 0 点赞 0 评论 0
protected static Predicate and(CriteriaBuilder criteriaBuilder, Predicate... predicate) {
    Predicate result = null;
    for (int i = 0; i < predicate.length; i++) {
        if (predicate[i] != null) {
            if (result == null) {
                result = predicate[i];
            } else {
                result = criteriaBuilder.and(result, predicate[i]);
            }
        }
    }

    return result;
}
LogicalExpression.java 文件源码 项目:sctalk 阅读 34 收藏 0 点赞 0 评论 0
@Override
public Predicate toPredicate(Root<?> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
    List<Predicate> predicates = new ArrayList<Predicate>();
    for (int i = 0; i < this.criterion.length; i++) {
        predicates.add(this.criterion[i].toPredicate(root, query, builder));
    }
    switch (operator) {
    case OR:
        return builder.or(predicates.toArray(new Predicate[predicates.size()]));
    default:
        return null;
    }
}


问题


面经


文章

微信
公众号

扫码关注公众号