mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
delete relationships before deleting the feed reference
This commit is contained in:
@@ -79,6 +79,7 @@ public class DatabaseCleaner {
|
|||||||
sub.setFeed(into);
|
sub.setFeed(into);
|
||||||
}
|
}
|
||||||
feedSubscriptionDAO.saveOrUpdate(subs);
|
feedSubscriptionDAO.saveOrUpdate(subs);
|
||||||
|
feedDAO.deleteRelationships(feed);
|
||||||
feedDAO.delete(feed);
|
feedDAO.delete(feed);
|
||||||
}
|
}
|
||||||
feedDAO.saveOrUpdate(into);
|
feedDAO.saveOrUpdate(into);
|
||||||
|
|||||||
@@ -96,6 +96,13 @@ public class FeedDAO extends GenericDAO<Feed> {
|
|||||||
return findByField(Feed_.pushTopicHash, DigestUtils.sha1Hex(topic));
|
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) {
|
public int deleteWithoutSubscriptions(int max) {
|
||||||
CriteriaQuery<Feed> query = builder.createQuery(getType());
|
CriteriaQuery<Feed> query = builder.createQuery(getType());
|
||||||
Root<Feed> root = query.from(getType());
|
Root<Feed> root = query.from(getType());
|
||||||
@@ -110,10 +117,7 @@ public class FeedDAO extends GenericDAO<Feed> {
|
|||||||
int deleted = list.size();
|
int deleted = list.size();
|
||||||
|
|
||||||
for (Feed feed : list) {
|
for (Feed feed : list) {
|
||||||
Query relationshipDeleteQuery = em
|
deleteRelationships(feed);
|
||||||
.createNamedQuery("Feed.deleteEntryRelationships");
|
|
||||||
relationshipDeleteQuery.setParameter("feedId", feed.getId());
|
|
||||||
relationshipDeleteQuery.executeUpdate();
|
|
||||||
delete(feed);
|
delete(feed);
|
||||||
}
|
}
|
||||||
return deleted;
|
return deleted;
|
||||||
|
|||||||
Reference in New Issue
Block a user