From 4a0b44ac834ca51c4c76052a519eaa8f9e8e0960 Mon Sep 17 00:00:00 2001 From: igorpojzl <59439434+igorpojzl@users.noreply.github.com> Date: Mon, 12 Oct 2020 15:37:21 +0200 Subject: [PATCH] IDEMPIERE-4287 Fix for AD_Table caching. (#293) --- org.adempiere.base/src/org/compiere/model/MTable.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/MTable.java b/org.adempiere.base/src/org/compiere/model/MTable.java index 1ef26f3616..3d1078dfbb 100644 --- a/org.adempiere.base/src/org/compiere/model/MTable.java +++ b/org.adempiere.base/src/org/compiere/model/MTable.java @@ -153,12 +153,10 @@ public class MTable extends X_AD_Table implements ImmutablePOSupport while (it.hasNext()) { MTable retValue = it.next(); - if (tableName.equalsIgnoreCase(retValue.getTableName()) - && retValue.getCtx() == ctx - ) + if (tableName.equalsIgnoreCase(retValue.getTableName())) { - return retValue; - } + return s_cache.get (ctx, retValue.get_ID(), e -> new MTable(ctx, e)); + } } // MTable retValue = null; @@ -186,7 +184,7 @@ public class MTable extends X_AD_Table implements ImmutablePOSupport if (retValue != null) { Integer key = Integer.valueOf(retValue.getAD_Table_ID()); - s_cache.put (key, retValue); + s_cache.put (key, retValue, e -> new MTable(Env.getCtx(), e)); } return retValue; } // get