Examples of HibernateQuery


Examples of com.mysema.query.jpa.hibernate.HibernateQuery

    status.setTags(tags);
    return status;
  }

  public List<FeedEntryStatus> findStarred(User user, Date newerThan, int offset, int limit, ReadingOrder order, boolean includeContent) {
    HibernateQuery query = newQuery().from(status).where(status.user.eq(user), status.starred.isTrue());
    if (newerThan != null) {
      query.where(status.entryInserted.gt(newerThan));
    }

    if (order == ReadingOrder.asc) {
      query.orderBy(status.entryUpdated.asc(), status.id.asc());
    } else {
      query.orderBy(status.entryUpdated.desc(), status.id.desc());
    }

    query.offset(offset).limit(limit).setTimeout(config.getApplicationSettings().getQueryTimeout());

    List<FeedEntryStatus> statuses = query.list(status);
    for (FeedEntryStatus status : statuses) {
      status = handleStatus(user, status, status.getSubscription(), status.getEntry());
      fetchTags(user, status);
    }
    return lazyLoadContent(includeContent, statuses);
View Full Code Here

Examples of com.mysema.query.jpa.hibernate.HibernateQuery

  }

  private HibernateQuery buildQuery(User user, FeedSubscription sub, boolean unreadOnly, List<FeedEntryKeyword> keywords, Date newerThan,
      int offset, int limit, ReadingOrder order, Date last, String tag) {

    HibernateQuery query = newQuery().from(entry).where(entry.feed.eq(sub.getFeed()));

    if (keywords != null) {
      query.join(entry.content, content);

      for (FeedEntryKeyword keyword : keywords) {
        BooleanBuilder or = new BooleanBuilder();
        or.or(content.content.containsIgnoreCase(keyword.getKeyword()));
        or.or(content.title.containsIgnoreCase(keyword.getKeyword()));
        if (keyword.getMode() == Mode.EXCLUDE) {
          or.not();
        }
        query.where(or);
      }
    }
    query.leftJoin(entry.statuses, status).on(status.subscription.id.eq(sub.getId()));

    if (unreadOnly && tag == null) {
      BooleanBuilder or = new BooleanBuilder();
      or.or(status.read.isNull());
      or.or(status.read.isFalse());
      query.where(or);

      Date unreadThreshold = config.getApplicationSettings().getUnreadThreshold();
      if (unreadThreshold != null) {
        query.where(entry.updated.goe(unreadThreshold));
      }
    }

    if (tag != null) {
      BooleanBuilder and = new BooleanBuilder();
      and.and(entryTag.user.id.eq(user.getId()));
      and.and(entryTag.name.eq(tag));
      query.join(entry.tags, entryTag).on(and);
    }

    if (newerThan != null) {
      query.where(entry.inserted.goe(newerThan));
    }

    if (last != null) {
      if (order == ReadingOrder.desc) {
        query.where(entry.updated.gt(last));
      } else {
        query.where(entry.updated.lt(last));
      }
    }

    if (order != null) {
      if (order == ReadingOrder.asc) {
        query.orderBy(entry.updated.asc(), entry.id.asc());
      } else {
        query.orderBy(entry.updated.desc(), entry.id.desc());
      }
    }
    if (offset > -1) {
      query.offset(offset);
    }
    if (limit > -1) {
      query.limit(limit);
    }
    int timeout = config.getApplicationSettings().getQueryTimeout();
    if (timeout > 0) {
      query.setTimeout(timeout / 1000);
    }
    return query;
  }
View Full Code Here

Examples of com.mysema.query.jpa.hibernate.HibernateQuery

    int capacity = offset + limit;
    Comparator<FeedEntryStatus> comparator = order == ReadingOrder.desc ? STATUS_COMPARATOR_DESC : STATUS_COMPARATOR_ASC;
    FixedSizeSortedSet<FeedEntryStatus> set = new FixedSizeSortedSet<FeedEntryStatus>(capacity, comparator);
    for (FeedSubscription sub : subs) {
      Date last = (order != null && set.isFull()) ? set.last().getEntryUpdated() : null;
      HibernateQuery query = buildQuery(user, sub, unreadOnly, keywords, newerThan, -1, capacity, order, last, tag);
      List<Tuple> tuples = query.list(entry.id, entry.updated, status.id);
      for (Tuple tuple : tuples) {
        Long id = tuple.get(entry.id);
        Date updated = tuple.get(entry.updated);
        Long statusId = tuple.get(status.id);
View Full Code Here

Examples of com.mysema.query.jpa.hibernate.HibernateQuery

    return statuses;
  }

  public UnreadCount getUnreadCount(User user, FeedSubscription subscription) {
    UnreadCount uc = null;
    HibernateQuery query = buildQuery(user, subscription, true, null, null, -1, -1, null, null, null);
    List<Tuple> tuples = query.list(entry.count(), entry.updated.max());
    for (Tuple tuple : tuples) {
      Long count = tuple.get(entry.count());
      Date updated = tuple.get(entry.updated.max());
      uc = new UnreadCount(subscription.getId(), count, updated);
    }
View Full Code Here

Examples of com.mysema.query.jpa.hibernate.HibernateQuery

  protected GenericDAO(SessionFactory sessionFactory) {
    super(sessionFactory);
  }

  protected HibernateQuery newQuery() {
    return new HibernateQuery(currentSession());
  }
View Full Code Here

Examples of com.mysema.query.jpa.hibernate.HibernateQuery

  public List<Feed> findNextUpdatable(int count, Date lastLoginThreshold) {
    BooleanBuilder disabledDatePredicate = new BooleanBuilder();
    disabledDatePredicate.or(feed.disabledUntil.isNull());
    disabledDatePredicate.or(feed.disabledUntil.lt(new Date()));

    HibernateQuery query = newQuery().from(feed);
    if (lastLoginThreshold != null) {
      QFeedSubscription subs = QFeedSubscription.feedSubscription;
      QUser user = QUser.user;
      query.join(feed.subscriptions, subs).join(subs.user, user).where(disabledDatePredicate, user.lastLogin.gt(lastLoginThreshold));
    } else {
      query.where(disabledDatePredicate);
    }

    return query.orderBy(feed.disabledUntil.asc()).limit(count).distinct().list(feed);
  }
View Full Code Here

Examples of org.hibernate.ejb.HibernateQuery

    if(sorts != null && sorts.length > 0){
      queryString += " order by " + StringUtil.join(sorts);
    }
    logger.debug("Find[{}]", queryString);
    Query query = entityManager.createQuery(queryString);
    HibernateQuery hQuery = (HibernateQuery) query;
    String [] paramNames = hQuery.getHibernateQuery().getNamedParameters();
    if(paramNames != null && paramNames.length >0){
      logger.debug("Parameter List:");
      int i=1;
      for(String key: paramNames){
        logger.debug("{}) [{}] : {}", new Object[]{i++, key, params.get(key)});
View Full Code Here

Examples of org.hibernate.ejb.HibernateQuery

    List<T> list = findByQueryExNative(queryString, params, sorts, start, pageSize);
    p.setItems(list);
    String countQueryString = getCountQueryStringForHql(queryString);
    Query query = entityManager.createQuery(countQueryString);
    Map<String,Object> paramsNew = new HashMap<String, Object>();
    HibernateQuery hQuery = (HibernateQuery) query;
    String [] paramNames = hQuery.getHibernateQuery().getNamedParameters();
    if(paramNames != null && paramNames.length >0){
      for(String key: paramNames){
        paramsNew.put(key, params.get(key));
      }
    }
View Full Code Here

Examples of org.hibernate.ejb.HibernateQuery

        PersistenceProvider.fromEntityManager(entityManager));
    PartTreeJpaQuery jpaQuery = new PartTreeJpaQuery(queryMethod, entityManager);

    Query query = jpaQuery.createQuery(new Object[] { "Matthews", new PageRequest(0, 1) });

    HibernateQuery hibernateQuery = getValue(query, "h.target." + (isHibernate43() ? "jpqlQuery" : "val$jpaqlQuery"));
    assertThat(hibernateQuery.getHibernateQuery().getQueryString(), endsWith("firstname=:param0"));

    query = jpaQuery.createQuery(new Object[] { null, new PageRequest(0, 1) });

    hibernateQuery = getValue(query, "h.target." + (isHibernate43() ? "jpqlQuery" : "val$jpaqlQuery"));
    assertThat(hibernateQuery.getHibernateQuery().getQueryString(), endsWith("firstname is null"));
  }
View Full Code Here

Examples of org.hibernate.ejb.HibernateQuery

    }

    @Override
    public <T> CloseableIterator<T> iterate(Query query, FactoryExpression<?> projection) {
        if (query instanceof HibernateQuery) {
            HibernateQuery hQuery = (HibernateQuery)query;
            ScrollableResults results = hQuery.getHibernateQuery().scroll(ScrollMode.FORWARD_ONLY);
            CloseableIterator<T> iterator = new ScrollableResultsIterator<T>(results);
            if (projection != null) {
                iterator = new TransformingIterator<T>(iterator, projection);
            }
            return iterator;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.