diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/cache/EntityCache.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/cache/EntityCache.java index b59cd34..b3e0a50 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/cache/EntityCache.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/cache/EntityCache.java @@ -2,6 +2,7 @@ package cc.smtweb.framework.core.db.cache; import cc.smtweb.framework.core.annotation.SwCache; import cc.smtweb.framework.core.cache.AbstractCache; +import cc.smtweb.framework.core.common.SwConsts; import cc.smtweb.framework.core.db.DbEngine; import cc.smtweb.framework.core.db.EntityDao; import cc.smtweb.framework.core.db.impl.DefaultEntity; @@ -38,10 +39,10 @@ public class EntityCache extends AbstractCache { String ret = ""; for (String s : StringUtils.split(cache.getFields(), ",")) { if (StringUtils.isNotEmpty(s)) { - ret += "_" + bean.getStr(s); + ret += SwConsts.SPLIT_CHAR + bean.getStr(s); } } - return ret; + return ret.substring(1); }; if (cache.isMapType()) { regMap(cache.getName(), key); diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/dao/AbstractEntityDao.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/dao/AbstractEntityDao.java index c6ed70e..79b0e8e 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/dao/AbstractEntityDao.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/db/dao/AbstractEntityDao.java @@ -313,6 +313,7 @@ public abstract class AbstractEntityDao { } public Object readValue(T obj, String fieldName) { + if (obj == null) return null; EntityColumn beanColumn = getBeanColumn(fieldName); return beanColumn.readValue(obj); diff --git a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultListHandler.java b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultListHandler.java index 6369468..ca96b92 100644 --- a/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultListHandler.java +++ b/smtweb-framework/sw-framework-core/src/main/java/cc/smtweb/framework/core/mvc/service/DefaultListHandler.java @@ -91,7 +91,11 @@ public class DefaultListHandler extends AbstractListHan String sn = (String) dao.readValue(b, l.getLinkNameField()); if (StringUtils.isNotEmpty(sn)) names += "," + sn; } - row.put(l.getFieldName() + "_text", names.substring(1)); + if (StringUtils.isNotEmpty(names)) { + row.put(l.getFieldName() + "_text", names.substring(1)); + } else { + row.put(l.getFieldName() + "_text", ""); + } } else { List list = mapIds.computeIfAbsent(l.getLinkTable().getName(), k -> new ArrayList<>()); Collections.addAll(list, ids);