package com.commafeed.backend.dao; import java.util.List; import javax.ejb.Stateless; import javax.persistence.TypedQuery; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Root; import com.commafeed.backend.model.Feed; import com.commafeed.backend.model.FeedEntry; import com.commafeed.backend.model.FeedEntry_; import com.uaihebert.model.EasyCriteria; @Stateless @SuppressWarnings("serial") public class FeedEntryDAO extends GenericDAO { public List findByGuids(List guids) { EasyCriteria criteria = createCriteria(); criteria.setDistinctTrue(); criteria.andStringIn(FeedEntry_.guid.getName(), guids); criteria.leftJoinFetch(FeedEntry_.feeds.getName()); return criteria.getResultList(); } public List findByFeed(Feed feed, int offset, int limit) { CriteriaQuery query = builder.createQuery(getType()); Root root = query.from(getType()); query.where(builder.isMember(feed, root.get(FeedEntry_.feeds))); query.orderBy(builder.desc(root.get(FeedEntry_.updated))); TypedQuery q = em.createQuery(query); q.setFirstResult(offset); q.setMaxResults(limit); return q.getResultList(); } }