diff --git a/jdbc/src/main/java/nl/sanderhautvast/contiguous/JdbcResults.java b/jdbc/src/main/java/nl/sanderhautvast/contiguous/JdbcResults.java index b6ab681..0c22613 100644 --- a/jdbc/src/main/java/nl/sanderhautvast/contiguous/JdbcResults.java +++ b/jdbc/src/main/java/nl/sanderhautvast/contiguous/JdbcResults.java @@ -41,7 +41,13 @@ public class JdbcResults { String fieldName = next.getFieldName(); Object fieldValue; if (fieldName != null) { - fieldValue = result.getObject(fieldNameMapper.apply(fieldName)); + String columnName = fieldNameMapper.apply(fieldName); + if (columnName == null) { + columnName = fieldName; + } // would it be usefull if we could add this to the state (convert Function<> to Map<>)? + // so that next time the entry would be in the map... + // -> more branch predicability for the `if` + fieldValue = result.getObject(columnName); } else { // assume single Primitive as Contiguous, so just 1 column in the record fieldValue = result.getObject(1); diff --git a/jdbc/src/test/java/nl/sanderhautvast/contiguous/JdbcResultsTest.java b/jdbc/src/test/java/nl/sanderhautvast/contiguous/JdbcResultsTest.java index 387b845..396813f 100644 --- a/jdbc/src/test/java/nl/sanderhautvast/contiguous/JdbcResultsTest.java +++ b/jdbc/src/test/java/nl/sanderhautvast/contiguous/JdbcResultsTest.java @@ -56,7 +56,7 @@ class JdbcResultsTest { when(mockResults.getObject("name")).thenReturn("Trillian"); when(mockResults.getObject("realName")).thenReturn("Tricia MacMillan"); - Map nameMapping = Map.of("name", "name", "earthName", "realName"); + Map nameMapping = Map.of("earthName", "realName"); List scientists = JdbcResults.toList(mockResults, Scientist.class, nameMapping::get); assertFalse(scientists.isEmpty()); @@ -66,6 +66,4 @@ class JdbcResultsTest { assertEquals("Trillian", scientist.getName()); assertEquals("Tricia MacMillan", scientist.getEarthName()); } - - } \ No newline at end of file