From 943ac3ac854de5b09c243cb9ad10ac005c61f92a Mon Sep 17 00:00:00 2001 From: moparisthebest Date: Fri, 12 Jul 2019 14:03:23 -0400 Subject: [PATCH] JdbcMapper allow wildcards for java.sql.ResultSet --- .../jdbc/codegen/JdbcMapperProcessor.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java b/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java index 7f3de94..0a11983 100644 --- a/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java +++ b/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/JdbcMapperProcessor.java @@ -601,11 +601,14 @@ public class JdbcMapperProcessor extends AbstractProcessor { processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "@JdbcMapper.SQL sql parsed no column names, proper SQL? Wildcard? or bad parser?", methodElement); continue; } - for (final String key : keys) - if ("*".equals(key)) { - processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "@JdbcMapper.SQL sql parsed a wildcard column name which is not supported", methodElement); - return false; - } + // wildcards are fine for java.sql.ResultSet and nothing else + if (!"java.sql.ResultSet".equals(returnType)) { + for (final String key : keys) + if ("*".equals(key)) { + processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "@JdbcMapper.SQL sql parsed a wildcard column name which is not supported", methodElement); + return false; + } + } closeRs = rsm.mapToResultType(w, keys, eeMethod, maxRows, calendarName, cleanerName, !cachePreparedStatements, allowReflection ? reflectionFields : null); }