java类javax.persistence.TypedQuery的实例源码

JpaUtil.java 文件源码 项目:linq 阅读 25 收藏 0 点赞 0 评论 0
@SuppressWarnings("unchecked")
/**
 * 分页条件查询
 * @param cq 条件
 * @param pageable 分页信息
 * @param <T> 领域类(实体类)范型
 * @return 分页结果
 */
public static <T> Page<T> findAll(CriteriaQuery<T> cq, Pageable pageable) {
    Class<T> domainClass = cq.getResultType();
    Root<T> root;
    if (CollectionUtils.isEmpty(cq.getRoots())) {
        root = cq.from(domainClass);
    } else {
        root = (Root<T>) cq.getRoots().iterator().next();
    }
    EntityManager em = getEntityManager(domainClass);
    if (pageable == null) {
        List<T> list = findAll(cq);
        return new PageImpl<T>(list);
    } else {
        Sort sort = pageable.getSort();
        cq.orderBy(QueryUtils.toOrders(sort, root, em.getCriteriaBuilder()));
        TypedQuery<T> query = em.createQuery(cq);

        query.setFirstResult(pageable.getOffset());
        query.setMaxResults(pageable.getPageSize());

        Long total = count(cq);
        List<T> content = total > pageable.getOffset() ? query.getResultList() : Collections.<T> emptyList();

        return new PageImpl<T>(content, pageable, total);
    }
}
PermittedRepository.java 文件源码 项目:xm-commons 阅读 25 收藏 0 点赞 0 评论 0
private <T> Page<T> readPage(TypedQuery<Long> countQuery, TypedQuery<T> query, Pageable pageable) {
    query.setFirstResult(pageable.getOffset());
    query.setMaxResults(pageable.getPageSize());

    return PageableExecutionUtils.getPage(query.getResultList(), pageable,
        () -> executeCountQuery(countQuery));
}
AccountArchivist.java 文件源码 项目:mid-tier 阅读 23 收藏 0 点赞 0 评论 0
@LogDuration(limit = 50)
public ReconciledTransaction getReconciledTransaction(String regNo, String accountNo, String id) {
    TypedQuery<ReconciledTransaction> q = em.createQuery("select rt from ReconciledTransaction rt " +
            "where rt.account.regNo=:regNo and rt.account.accountNo=:accountNo and rt.id=:id", ReconciledTransaction.class);
    q.setParameter("regNo", regNo);
    q.setParameter("accountNo", accountNo);
    q.setParameter("id", id);
    return q.getSingleResult();
}
ProductDAO.java 文件源码 项目:soapbox-race-core 阅读 29 收藏 0 点赞 0 评论 0
public List<ProductEntity> findByLevelEnabled(String categoryName, String productType, int minLevel, boolean enabled, boolean premium) {
    TypedQuery<ProductEntity> query = entityManager.createNamedQuery("ProductEntity.findByLevelEnabled", ProductEntity.class);
    query.setParameter("categoryName", categoryName);
    query.setParameter("productType", productType);
    query.setParameter("enabled", enabled);
    query.setParameter("minLevel", minLevel);
    query.setParameter("premium", premium);
    return query.getResultList();
}
RequestBean.java 文件源码 项目:tap17-muggl-javaee 阅读 31 收藏 0 点赞 0 评论 0
public List<Student> getAllStudents() {
    CriteriaQuery<Student> cq = em.getCriteriaBuilder().createQuery(Student.class);
    Root<Student> student = cq.from(Student.class);
    cq.select(student);
    cq.where(cb.isTrue(student.get(Student_.active)));
    cq.distinct(true);
    TypedQuery<Student> q = em.createQuery(cq);
    return q.getResultList();
}
CustomerArchivist.java 文件源码 项目:mid-tier 阅读 20 收藏 0 点赞 0 评论 0
/**
 * Find customer by its semantic key. Note this will throw {@link NoResultException} which will roll back the
 * transaction if the customer is not found - if this is a problem consider using
 * {@link #findCustomer(String)}.
 */
@LogDuration(limit = 50)
public Customer getCustomer(String customerNo) {
    TypedQuery<Customer> q = em.createQuery("select c from Customer c where c.sid=:sid", Customer.class);
    q.setParameter("sid", customerNo);
    return q.getSingleResult();
}
RequestBean.java 文件源码 项目:tap17-muggl-javaee 阅读 33 收藏 0 点赞 0 评论 0
public List<String> getSportsOfPlayer(String playerId) {
        logger.info("getSportsOfPlayer");
        List<String> sports = new ArrayList<>();

        try {
            CriteriaQuery<String> cq = cb.createQuery(String.class);
            if (cq != null) {
                Root<Player> player = cq.from(Player.class);
                Join<Player, Team> team = player.join(Player_.teams);
                Join<Team, League> league = team.join(Team_.league);

                // Get MetaModel from Root
                //EntityType<Player> Player_ = player.getModel();

                // set the where clause
                cq.where(cb.equal(player.get(Player_.id), playerId));
                cq.select(league.get(League_.sport)).distinct(true);
                TypedQuery<String> q = em.createQuery(cq);
                sports = q.getResultList();
            }

//        Player player = em.find(Player.class, playerId);
//        Iterator<Team> i = player.getTeams().iterator();
//        while (i.hasNext()) {
//            Team team = i.next();
//            League league = team.getLeague();
//            sports.add(league.getSport());
//        }
        } catch (Exception ex) {
            throw new EJBException(ex);
        }
        return sports;
    }
ShiftRestServiceImpl.java 文件源码 项目:optashift-employee-rostering 阅读 22 收藏 0 点赞 0 评论 0
@Override
public ShiftTemplate getTemplate(Integer tenantId) {
    TypedQuery<ShiftTemplate> q = entityManager.createNamedQuery("ShiftTemplate.get", ShiftTemplate.class);
    q.setParameter("tenantId", tenantId);
    List<ShiftTemplate> result = q.getResultList();
    if (result.isEmpty()) {
        return null;
    } else if (1 != result.size()) {
        throw new IllegalStateException("Each tenant can only have 1 template! Found " + result.size()
                + "templates!");
    } else {
        return result.get(0);
    }
}
LobbyDAO.java 文件源码 项目:soapbox-race-core 阅读 26 收藏 0 点赞 0 评论 0
public List<LobbyEntity> findAllOpen() {
    Date dateNow = new Date();
    Date datePast = new Date(dateNow.getTime() - 35000);

    TypedQuery<LobbyEntity> query = entityManager.createNamedQuery("LobbyEntity.findAllOpen", LobbyEntity.class);
    query.setParameter("dateTime1", datePast);
    query.setParameter("dateTime2", dateNow);
    return query.getResultList();
}
JpaSql.java 文件源码 项目:Android_Code_Arbiter 阅读 28 收藏 0 点赞 0 评论 0
public void getUserByUsernameAlt2(String username) {
    TypedQuery<UserEntity> q = em.createQuery(
            "select * from Users where name = '" + username + "'",
            UserEntity.class);

    UserEntity res = q.getSingleResult();
}


问题


面经


文章

微信
公众号

扫码关注公众号