diff --git a/dspace-api/src/main/java/org/dspace/content/Item.java b/dspace-api/src/main/java/org/dspace/content/Item.java index ba807913c8..0c5f5da09c 100644 --- a/dspace-api/src/main/java/org/dspace/content/Item.java +++ b/dspace-api/src/main/java/org/dspace/content/Item.java @@ -1872,7 +1872,16 @@ public class Item extends DSpaceObject // remove all of our authorization policies AuthorizeManager.removeAllPolicies(ourContext, this); - + + // Remove any Handle + // FIXME: HandleManager should provide a way of doing this. + // Plus, deleting a Handle may have ramifications + // that need considering. + DatabaseManager.updateQuery(ourContext, + "DELETE FROM handle WHERE resource_type_id= ? " + + "AND resource_id= ? ", + Constants.ITEM,getID()); + // Finally remove item row DatabaseManager.delete(ourContext, itemRow); }