diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfos.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfos.java index ded47d1e..d465ce06 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfos.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfos.java @@ -199,17 +199,13 @@ public class TableInfos { columnInfo.setPropertyType(field.getType()); if (column != null && column.typeHandler() != UnknownTypeHandler.class) { - Class typeHandlerClass = column.typeHandler(); + Class typeHandlerClass = column.typeHandler(); Configuration configuration = FlexGlobalConfig.getDefaultConfig().getConfiguration(); TypeHandlerRegistry typeHandlerRegistry = configuration.getTypeHandlerRegistry(); - if (!typeHandlerRegistry.hasTypeHandler(typeHandlerClass)) { - typeHandlerRegistry.register(typeHandlerClass); - } - TypeHandler typeHandler = typeHandlerRegistry.getTypeHandler(typeHandlerClass); + TypeHandler typeHandler = typeHandlerRegistry.getInstance(columnInfo.getPropertyType(), typeHandlerClass); columnInfo.setTypeHandler(typeHandler); } - if (column != null && column.jdbcType() != JdbcType.UNDEFINED) { columnInfo.setJdbcType(column.jdbcType()); }