From 568c3c4c8a1a41a2afc840302574ac3341f20358 Mon Sep 17 00:00:00 2001 From: godotg Date: Mon, 24 Jun 2024 17:44:22 +0800 Subject: [PATCH] feat[orm]: persist the entity of the specified key --- orm/src/main/java/com/zfoo/orm/cache/EntityCache.java | 9 +++++++++ orm/src/main/java/com/zfoo/orm/cache/IEntityCache.java | 7 +++++++ 2 files changed, 16 insertions(+) diff --git a/orm/src/main/java/com/zfoo/orm/cache/EntityCache.java b/orm/src/main/java/com/zfoo/orm/cache/EntityCache.java index dec5072b..04827195 100644 --- a/orm/src/main/java/com/zfoo/orm/cache/EntityCache.java +++ b/orm/src/main/java/com/zfoo/orm/cache/EntityCache.java @@ -227,6 +227,15 @@ public class EntityCache, E extends IEntity> imple cache.remove(pk); } + @Override + public void persist(PK pk) { + var pnode = cache.get(pk); + if (pnode == null) { + return; + } + updateUnsafeNow(pnode.getEntity()); + } + // 游戏中80%都是执行更新的操作,这样做会极大的提高更新速度 @Override public void persistAll() { diff --git a/orm/src/main/java/com/zfoo/orm/cache/IEntityCache.java b/orm/src/main/java/com/zfoo/orm/cache/IEntityCache.java index 59ffb759..16077ac4 100644 --- a/orm/src/main/java/com/zfoo/orm/cache/IEntityCache.java +++ b/orm/src/main/java/com/zfoo/orm/cache/IEntityCache.java @@ -66,6 +66,13 @@ public interface IEntityCache, E extends IEntity> */ void invalidate(PK pk); + /** + * 持久化缓存数据 + * + * @param pk 主键 + */ + void persist(PK pk); + /** * 持久化所有缓存数据 */