diff --git a/core/pom.xml b/core/pom.xml
index 7fa2f6af..921faecb 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -145,6 +145,13 @@
1.9.5
test
+
+
+ test
+ org.projectlombok
+ lombok
+ 1.16.18
+
diff --git a/core/src/main/java/org/sql2o/reflection/PojoMetadata.java b/core/src/main/java/org/sql2o/reflection/PojoMetadata.java
index f67c6b88..ba9758c0 100644
--- a/core/src/main/java/org/sql2o/reflection/PojoMetadata.java
+++ b/core/src/main/java/org/sql2o/reflection/PojoMetadata.java
@@ -127,6 +127,17 @@ private PropertyAndFieldInfo initializePropertyInfo() {
propertyGetters.put(propertyName, factoryFacade.newGetter(m));
}
+ if (m.getName().startsWith("is")) {
+ String propertyName = m.getName().substring(2);
+ if (caseSensitive) {
+ propertyName = propertyName.substring(0, 1).toLowerCase() + propertyName.substring(1);
+ } else {
+ propertyName = propertyName.toLowerCase();
+ }
+
+ propertyGetters.put(propertyName, factoryFacade.newGetter(m));
+ }
+
if (m.getName().startsWith("set") && m.getParameterTypes().length == 1) {
String propertyName = readAnnotatedColumnName(m, isJpaColumnInClasspath);
if(propertyName == null) {
diff --git a/core/src/test/java/org/sql2o/reflect/ReadLombokAnnotationTest.java b/core/src/test/java/org/sql2o/reflect/ReadLombokAnnotationTest.java
new file mode 100644
index 00000000..40a79aad
--- /dev/null
+++ b/core/src/test/java/org/sql2o/reflect/ReadLombokAnnotationTest.java
@@ -0,0 +1,31 @@
+package org.sql2o.reflect;
+
+import com.google.common.collect.ImmutableMap;
+import junit.framework.TestCase;
+import lombok.Data;
+import org.junit.Test;
+import org.sql2o.reflection.PojoMetadata;
+
+@SuppressWarnings("unused")
+public class ReadLombokAnnotationTest
+ extends TestCase {
+
+ @Test
+ public void testBooleanGetter() {
+ PojoMetadata metadata = newPojoMetadata(BooleanAnnotation.class);
+ assertNotNull(metadata.getPropertyGetterIfExists("field1"));
+ assertNotNull(metadata.getPropertyGetterIfExists("field2"));
+ }
+
+ private PojoMetadata newPojoMetadata(Class> clazz) {
+ return new PojoMetadata(clazz, false, false, ImmutableMap. of(), true);
+ }
+
+ @Data
+ private static class BooleanAnnotation {
+ private boolean field1;
+ private Boolean field2;
+ }
+
+
+}