load feeds only when needed

This commit is contained in:
Athou
2013-06-12 05:05:10 +02:00
parent 33f10f5e9c
commit 62a77278ff
2 changed files with 8 additions and 7 deletions

View File

@@ -27,14 +27,10 @@ public class FeedEntryDAO extends GenericDAO<FeedEntry> {
CriteriaQuery<FeedEntry> query = builder.createQuery(getType());
Root<FeedEntry> root = query.from(getType());
query.distinct(true);
query.where(builder.equal(root.get(FeedEntry_.guidHash), hash));
TypedQuery<FeedEntry> q = em.createQuery(query);
List<FeedEntry> list = q.getResultList();
for (FeedEntry entry : list) {
Hibernate.initialize(entry.getFeeds());
}
return list;
}

View File

@@ -6,6 +6,8 @@ import java.util.List;
import javax.ejb.Stateless;
import javax.inject.Inject;
import org.hibernate.Hibernate;
import com.commafeed.backend.MetricsBean;
import com.commafeed.backend.dao.FeedEntryDAO;
import com.commafeed.backend.dao.FeedEntryStatusDAO;
@@ -52,9 +54,12 @@ public class FeedUpdateService {
entry.getFeeds().add(feed);
update = entry;
} else if (FeedUtils.findFeed(foundEntry.getFeeds(), feed) == null) {
foundEntry.getFeeds().add(feed);
update = foundEntry;
} else {
Hibernate.initialize(foundEntry.getFeeds());
if (FeedUtils.findFeed(foundEntry.getFeeds(), feed) == null) {
foundEntry.getFeeds().add(feed);
update = foundEntry;
}
}
if (update != null) {