delete relationships before deleting the feed reference

This commit is contained in:
Athou
2013-07-08 07:44:43 +02:00
parent e3adc676df
commit d361d689e8
2 changed files with 9 additions and 4 deletions

View File

@@ -79,6 +79,7 @@ public class DatabaseCleaner {
sub.setFeed(into);
}
feedSubscriptionDAO.saveOrUpdate(subs);
feedDAO.deleteRelationships(feed);
feedDAO.delete(feed);
}
feedDAO.saveOrUpdate(into);

View File

@@ -96,6 +96,13 @@ public class FeedDAO extends GenericDAO<Feed> {
return findByField(Feed_.pushTopicHash, DigestUtils.sha1Hex(topic));
}
public void deleteRelationships(Feed feed) {
Query relationshipDeleteQuery = em
.createNamedQuery("Feed.deleteEntryRelationships");
relationshipDeleteQuery.setParameter("feedId", feed.getId());
relationshipDeleteQuery.executeUpdate();
}
public int deleteWithoutSubscriptions(int max) {
CriteriaQuery<Feed> query = builder.createQuery(getType());
Root<Feed> root = query.from(getType());
@@ -110,10 +117,7 @@ public class FeedDAO extends GenericDAO<Feed> {
int deleted = list.size();
for (Feed feed : list) {
Query relationshipDeleteQuery = em
.createNamedQuery("Feed.deleteEntryRelationships");
relationshipDeleteQuery.setParameter("feedId", feed.getId());
relationshipDeleteQuery.executeUpdate();
deleteRelationships(feed);
delete(feed);
}
return deleted;