diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java b/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java index 5a105af849..9ff72b9d08 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultRecordMapper.java @@ -325,7 +325,7 @@ public class DefaultRecordMapper implements RecordMapper local = new DefaultRecordMapper<>(rowType, Object[].class, configuration); + RecordMapper local = configuration.recordMapperProvider().provide(rowType, Object[].class); delegate = r -> (E) Stream.of(local.map(r)); return; } @@ -731,21 +731,17 @@ public class DefaultRecordMapper implements RecordMapper> list = new ArrayList<>(); for (java.lang.reflect.Field member : getMatchingMembers(configuration, type, prefix)) { - list.add(new DefaultRecordMapper<>( - new Fields<>(entry.getValue()), - member.getType(), - null, - configuration - )); + list.add(configuration + .recordMapperProvider() + .provide(new Fields<>(entry.getValue()), member.getType()) + ); } for (Method method : getMatchingSetters(configuration, type, prefix)) { - list.add(new DefaultRecordMapper<>( - new Fields<>(entry.getValue()), - method.getParameterTypes()[0], - null, - configuration - )); + list.add(configuration + .recordMapperProvider() + .provide(new Fields<>(entry.getValue()), method.getParameterTypes()[0]) + ); } nested.put(prefix, list);