diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableDefs.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableDefs.java index afd73b75..355a287b 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableDefs.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableDefs.java @@ -53,18 +53,21 @@ public class TableDefs implements Serializable { public static TableDef getTableDef(Class entityClass, String tableNameWithSchema) { - if (!TABLE_DEF_MAP.containsKey(tableNameWithSchema)) { + TableDef tableDef = TABLE_DEF_MAP.get(tableNameWithSchema); + if (tableDef == null) { init(entityClass.getPackage().getName()); + tableDef = TABLE_DEF_MAP.get(tableNameWithSchema); } - return TABLE_DEF_MAP.get(tableNameWithSchema); + return tableDef; } public static QueryColumn getQueryColumn(Class entityClass, String tableNameWithSchema, String column) { - if (!TABLE_DEF_MAP.containsKey(tableNameWithSchema)) { - init(entityClass.getPackage().getName()); - } Map queryColumnMap = QUERY_COLUMN_MAP.get(tableNameWithSchema); + if (queryColumnMap == null) { + init(entityClass.getPackage().getName()); + queryColumnMap = QUERY_COLUMN_MAP.get(tableNameWithSchema); + } return queryColumnMap != null ? queryColumnMap.get(column) : null; }