diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/cache/AbstractCache.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/cache/AbstractCache.java index 73b4328..69c6fca 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/cache/AbstractCache.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/cache/AbstractCache.java @@ -244,14 +244,15 @@ public abstract class AbstractCache implements ISwCache< * @param key */ protected void doRemove(String key) { - T bean = getOrg(key); + T oldbean = getOrg(key); + T bean = get(key); if (bean != null) { for (Map.Entry> entry : mapListReg.entrySet()) { - doRemoveList(entry.getKey(), getBeanKey(entry.getValue(), bean), bean); + doRemoveList(entry.getKey(), getBeanKey(entry.getValue(), oldbean), bean); } for (Map.Entry> entry : mapMapReg.entrySet()) { - doRemoveMap(entry.getKey(), getBeanKey(entry.getValue(), bean)); + doRemoveMap(entry.getKey(), getBeanKey(entry.getValue(), oldbean)); } } cache.invalidate(key);