From d64722a6287725a8836ceaec4a8168099e56f59b Mon Sep 17 00:00:00 2001 From: Terry Brady Date: Thu, 18 Aug 2016 17:10:43 -0700 Subject: [PATCH] Add evict method --- dspace-api/src/main/java/org/dspace/core/Context.java | 6 ++++++ dspace-api/src/main/java/org/dspace/core/DBConnection.java | 2 ++ .../main/java/org/dspace/core/HibernateDBConnection.java | 5 +++++ 3 files changed, 13 insertions(+) diff --git a/dspace-api/src/main/java/org/dspace/core/Context.java b/dspace-api/src/main/java/org/dspace/core/Context.java index 5f87d20998..8dca747a2e 100644 --- a/dspace-api/src/main/java/org/dspace/core/Context.java +++ b/dspace-api/src/main/java/org/dspace/core/Context.java @@ -714,6 +714,12 @@ public class Context return (E) dbConnection.reloadEntity(entity); } + @SuppressWarnings("unchecked") + public void uncacheEntity(E entity) throws SQLException { + dbConnection.uncacheEntity(entity); + } + + /** * Reload all entities related to this context. * @throws SQLException When reloading one of the entities fails. diff --git a/dspace-api/src/main/java/org/dspace/core/DBConnection.java b/dspace-api/src/main/java/org/dspace/core/DBConnection.java index 9450ccc001..953eee7372 100644 --- a/dspace-api/src/main/java/org/dspace/core/DBConnection.java +++ b/dspace-api/src/main/java/org/dspace/core/DBConnection.java @@ -53,4 +53,6 @@ public interface DBConnection { * @param entity The DSpace object to reload */ public E reloadEntity(E entity) throws SQLException; + + public void uncacheEntity(E entity) throws SQLException ; } \ No newline at end of file diff --git a/dspace-api/src/main/java/org/dspace/core/HibernateDBConnection.java b/dspace-api/src/main/java/org/dspace/core/HibernateDBConnection.java index e6f529f63e..9288e3e7f2 100644 --- a/dspace-api/src/main/java/org/dspace/core/HibernateDBConnection.java +++ b/dspace-api/src/main/java/org/dspace/core/HibernateDBConnection.java @@ -157,4 +157,9 @@ public class HibernateDBConnection implements DBConnection { getSession().setFlushMode(FlushMode.AUTO); } } + + @Override + public void uncacheEntity(E entity) throws SQLException { + getSession().evict(entity); + } } \ No newline at end of file