diff --git a/src/main/java/org/redkale/source/EntityCache.java b/src/main/java/org/redkale/source/EntityCache.java index 68af9c568..59f805870 100644 --- a/src/main/java/org/redkale/source/EntityCache.java +++ b/src/main/java/org/redkale/source/EntityCache.java @@ -807,6 +807,7 @@ 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)); return 1; } else { logger.log(Level.WARNING, this.type + " cache repeat insert data: " + entity); @@ -823,6 +824,7 @@ public final class EntityCache { return 0; } this.list.remove(rs); + this.array[(Integer) primary.get(rs)] = null; return 1; } @@ -849,6 +851,7 @@ 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; } return ids; }