diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlQueryCreatorUtils.java b/src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlQueryCreatorUtils.java index b6f196c5..6d751b93 100644 --- a/src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlQueryCreatorUtils.java +++ b/src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlQueryCreatorUtils.java @@ -172,6 +172,8 @@ public class N1qlQueryCreatorUtils { Expression converted; if (next instanceof String) { converted = s((String) next); + } else if (next instanceof Enum) { + converted = s(String.valueOf(next)); } else { converted = x(String.valueOf(next)); } diff --git a/src/test/java/org/springframework/data/couchbase/repository/query/N1qlQueryCreatorTest.java b/src/test/java/org/springframework/data/couchbase/repository/query/N1qlQueryCreatorTest.java index 3108bb8a..82aad5bf 100644 --- a/src/test/java/org/springframework/data/couchbase/repository/query/N1qlQueryCreatorTest.java +++ b/src/test/java/org/springframework/data/couchbase/repository/query/N1qlQueryCreatorTest.java @@ -473,20 +473,27 @@ public class N1qlQueryCreatorTest { assertEquals(expectedIgnoreCase, expIgnoreCase.toString()); } + enum TestEnum { + TEST + } + @Test public void testSIMPLE_PROPERTY() throws Exception { Part.Type keyword = Part.Type.SIMPLE_PROPERTY; - Iterator values = Arrays.asList("a", 1, "b").iterator(); + Iterator values = Arrays.asList("a", 1, "b", TestEnum.TEST).iterator(); String expected = "doc.field = \"a\""; String expectedNum = "doc.field = 1"; String expectedIgnoreCase = "LOWER(doc.field) = LOWER(\"b\")"; + String expectedEnum = "doc.field = \"TEST\""; Expression exp = N1qlQueryCreatorUtils.createExpression(keyword, "doc.field", false, values); Expression expNum = N1qlQueryCreatorUtils.createExpression(keyword, "doc.field", false, values); Expression expIgnoreCase = N1qlQueryCreatorUtils.createExpression(keyword, "doc.field", true, values); + Expression expEnum = N1qlQueryCreatorUtils.createExpression(keyword, "doc.field", false, values); assertEquals(expected, exp.toString()); assertEquals(expectedNum, expNum.toString()); assertEquals(expectedIgnoreCase, expIgnoreCase.toString()); + assertEquals(expectedEnum, expEnum.toString()); } } \ No newline at end of file