|
54 | 54 | */
|
55 | 55 | public final class TypeHandlerRegistry {
|
56 | 56 |
|
57 |
| - private final Map<JdbcType, TypeHandler<?>> jdbcTypeHandlerMap = new EnumMap<>(JdbcType.class); |
| 57 | + private final Map<JdbcType, TypeHandler<?>> jdbcTypeHandlerMap = new EnumMap<>(JdbcType.class); |
58 | 58 | private final Map<Type, Map<JdbcType, TypeHandler<?>>> typeHandlerMap = new ConcurrentHashMap<>();
|
59 | 59 | private final TypeHandler<Object> unknownTypeHandler;
|
60 | 60 | private final Map<Class<?>, TypeHandler<?>> allTypeHandlersMap = new HashMap<>();
|
@@ -252,10 +252,10 @@ private <T> TypeHandler<T> getTypeHandler(Type type, JdbcType jdbcType) {
|
252 | 252 |
|
253 | 253 | private Map<JdbcType, TypeHandler<?>> getJdbcHandlerMap(Type type) {
|
254 | 254 | Map<JdbcType, TypeHandler<?>> jdbcHandlerMap = typeHandlerMap.get(type);
|
255 |
| - if (NULL_TYPE_HANDLER_MAP.equals(jdbcHandlerMap)) { |
256 |
| - return null; |
| 255 | + if (jdbcHandlerMap != null) { |
| 256 | + return NULL_TYPE_HANDLER_MAP.equals(jdbcHandlerMap) ? null : jdbcHandlerMap; |
257 | 257 | }
|
258 |
| - if (jdbcHandlerMap == null && type instanceof Class) { |
| 258 | + if (type instanceof Class) { |
259 | 259 | Class<?> clazz = (Class<?>) type;
|
260 | 260 | if (Enum.class.isAssignableFrom(clazz)) {
|
261 | 261 | Class<?> enumClass = clazz.isAnonymousClass() ? clazz.getSuperclass() : clazz;
|
@@ -292,7 +292,7 @@ private Map<JdbcType, TypeHandler<?>> getJdbcHandlerMapForEnumInterfaces(Class<?
|
292 | 292 | }
|
293 | 293 |
|
294 | 294 | private Map<JdbcType, TypeHandler<?>> getJdbcHandlerMapForSuperclass(Class<?> clazz) {
|
295 |
| - Class<?> superclass = clazz.getSuperclass(); |
| 295 | + Class<?> superclass = clazz.getSuperclass(); |
296 | 296 | if (superclass == null || Object.class.equals(superclass)) {
|
297 | 297 | return null;
|
298 | 298 | }
|
|
0 commit comments