diff --git a/src/main/java/com/commafeed/backend/dao/FeedEntryContentDAO.java b/src/main/java/com/commafeed/backend/dao/FeedEntryContentDAO.java index b0239132..5056e7f5 100644 --- a/src/main/java/com/commafeed/backend/dao/FeedEntryContentDAO.java +++ b/src/main/java/com/commafeed/backend/dao/FeedEntryContentDAO.java @@ -11,6 +11,7 @@ import com.commafeed.backend.model.FeedEntryContent; import com.commafeed.backend.model.QFeedEntry; import com.commafeed.backend.model.QFeedEntryContent; import com.google.common.collect.Iterables; +import com.mysema.query.jpa.hibernate.HibernateSubQuery; @Singleton public class FeedEntryContentDAO extends GenericDAO { @@ -30,8 +31,10 @@ public class FeedEntryContentDAO extends GenericDAO { public int deleteWithoutEntries(int max) { QFeedEntry entry = QFeedEntry.feedEntry; - List list = newQuery().from(content).leftJoin(content.entries, entry).where(entry.id.isNull()).limit(max) - .list(content); + + HibernateSubQuery subQuery = new HibernateSubQuery().from(entry).where(entry.content.id.eq(content.id)); + List list = newQuery().from(content).where(subQuery.notExists()).limit(max).list(content); + int deleted = list.size(); delete(list); return deleted;