From 2825bbdf2abc6f0a71dac4d41a0a22b405e65770 Mon Sep 17 00:00:00 2001 From: Knut Wannheden Date: Wed, 31 Jul 2019 14:54:31 +0200 Subject: [PATCH] [jOOQ/jOOQ#9001] DefaultRecordMapper now uses RecordMapperProvider Having the `DefaultRecordMapper` internally also use `Configuration#recordMapperProvider()` is important when the user needs control over how nested POJOs get mapped. --- .../org/jooq/impl/DefaultRecordMapper.java | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) 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);