diff --git a/hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/mapper/dict/DictInTermTypeMapper.java b/hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/mapper/dict/DictInTermTypeMapper.java index 7190d38a0..5565fe3df 100644 --- a/hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/mapper/dict/DictInTermTypeMapper.java +++ b/hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/mapper/dict/DictInTermTypeMapper.java @@ -34,13 +34,20 @@ public class DictInTermTypeMapper extends AbstractSqlTermCustomer { } private boolean support(RDBColumnMetaData column) { + if(column.getJdbcType()== JDBCType.VARCHAR){ + return false; + } Class type = column.getJavaType(); if (type != null && type.isArray()) { type = type.getComponentType(); } - return ((type != null && type.isEnum() && EnumDict.class.isAssignableFrom(type)) + + return ((type != null && type.isEnum() + && EnumDict.class.isAssignableFrom(type) + && column.getJavaType().isArray()) || - (column.getProperty(USE_DICT_MASK_FLAG).isTrue() && column.getOptionConverter() != null)); + (column.getProperty(USE_DICT_MASK_FLAG).isTrue() + && column.getOptionConverter() != null)); } @SuppressWarnings("all") diff --git a/hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/mapper/dict/DictTermTypeMapper.java b/hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/mapper/dict/DictTermTypeMapper.java index 374c1a0a7..40ff0b415 100644 --- a/hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/mapper/dict/DictTermTypeMapper.java +++ b/hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/mapper/dict/DictTermTypeMapper.java @@ -34,11 +34,16 @@ public class DictTermTypeMapper extends AbstractSqlTermCustomer { } private boolean support(RDBColumnMetaData column) { + if (column.getJdbcType() == JDBCType.VARCHAR) { + return false; + } Class type = column.getJavaType(); if (type != null && type.isArray()) { type = type.getComponentType(); } - return ((type != null && type.isEnum() && EnumDict.class.isAssignableFrom(type)) + return ((type != null && type.isEnum() + && EnumDict.class.isAssignableFrom(type) + && column.getJavaType().isArray()) || (column.getProperty(USE_DICT_MASK_FLAG).isTrue() && column.getOptionConverter() != null)); }