From 1dbaf107ca956eac02722c63ec35cc9b38f770a7 Mon Sep 17 00:00:00 2001 From: redkale Date: Wed, 29 Mar 2023 21:36:51 +0800 Subject: [PATCH] =?UTF-8?q?EntityCache=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/org/redkale/source/EntityCache.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/redkale/source/EntityCache.java b/src/main/java/org/redkale/source/EntityCache.java index 59f805870..38afcc4da 100644 --- a/src/main/java/org/redkale/source/EntityCache.java +++ b/src/main/java/org/redkale/source/EntityCache.java @@ -807,7 +807,9 @@ public final class EntityCache { T old = this.map.putIfAbsent(this.primary.get(rs), rs); if (old == null) { this.list.add(rs); - this.array = transferArray(new ArrayList<>(this.list)); + if (continuousid) { + this.array = transferArray(new ArrayList<>(this.list)); + } return 1; } else { logger.log(Level.WARNING, this.type + " cache repeat insert data: " + entity); @@ -824,7 +826,9 @@ public final class EntityCache { return 0; } this.list.remove(rs); - this.array[(Integer) primary.get(rs)] = null; + if (continuousid) { + this.array[(Integer) primary.get(rs)] = null; + } return 1; } @@ -851,7 +855,9 @@ public final class EntityCache { ids[++i] = this.primary.get(t); this.map.remove(ids[i]); this.list.remove(t); - this.array[(Integer) primary.get(t)] = null; + if (continuousid) { + this.array[(Integer) primary.get(t)] = null; + } } return ids; }