From 9d5b67ffda5100799a978a4b2a1ad1f2ba977e3c Mon Sep 17 00:00:00 2001 From: Athou Date: Tue, 21 May 2013 15:28:08 +0200 Subject: [PATCH] lazy load push infos --- .../java/com/commafeed/backend/dao/FeedDAO.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/commafeed/backend/dao/FeedDAO.java b/src/main/java/com/commafeed/backend/dao/FeedDAO.java index 3c101017..a5af6eb8 100644 --- a/src/main/java/com/commafeed/backend/dao/FeedDAO.java +++ b/src/main/java/com/commafeed/backend/dao/FeedDAO.java @@ -7,7 +7,6 @@ import java.util.List; import javax.ejb.Stateless; import javax.persistence.TypedQuery; import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.JoinType; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; @@ -16,6 +15,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.time.DateUtils; import com.commafeed.backend.model.Feed; +import com.commafeed.backend.model.FeedPushInfo; import com.commafeed.backend.model.Feed_; import com.google.common.collect.Iterables; import com.uaihebert.model.EasyCriteria; @@ -26,7 +26,6 @@ public class FeedDAO extends GenericDAO { public List findNextUpdatable(int count) { CriteriaQuery query = builder.createQuery(getType()); Root root = query.from(getType()); - root.fetch(Feed_.pushInfo, JoinType.LEFT); Date now = Calendar.getInstance().getTime(); @@ -49,8 +48,15 @@ public class FeedDAO extends GenericDAO { TypedQuery q = em.createQuery(query); q.setMaxResults(count); - - return q.getResultList(); + + List feeds = q.getResultList(); + for (Feed feed : feeds) { + FeedPushInfo info = feed.getPushInfo(); + if (info != null) { + info.getTopic(); + } + } + return feeds; } public Feed findByUrl(String url) {