|
@@ -281,7 +281,12 @@ final class Tables {
|
|
|
return null;
|
|
|
} else if (clazz == EnumerationTypeHandler.class) {
|
|
|
Type type = TypeParameterResolver.resolveFieldType(field.getField(), table.getEntityType());
|
|
|
- return new EnumerationTypeHandler((Class<? extends Enumeration>) ObjectUtils.type2class(type));
|
|
|
+ Class<? extends Enumeration> target = (Class<? extends Enumeration>) ObjectUtils.type2class(type);
|
|
|
+ TypeHandler<?> handler = HANDLER_MAPPING.get(target);
|
|
|
+ if (handler == null) {
|
|
|
+ handler = HANDLER_MAPPING.computeIfAbsent(target, k -> new EnumerationTypeHandler(target));
|
|
|
+ }
|
|
|
+ return handler;
|
|
|
}
|
|
|
TypeHandler<?> handler = HANDLER_MAPPING.get(clazz);
|
|
|
return handler != null ? handler : HANDLER_MAPPING.computeIfAbsent(clazz, k -> ObjectUtils.instance(clazz));
|