diff --git a/src/main/asciidoc/reference/redis-repositories.adoc b/src/main/asciidoc/reference/redis-repositories.adoc index 973bb5c4e..a67ff12a5 100644 --- a/src/main/asciidoc/reference/redis-repositories.adoc +++ b/src/main/asciidoc/reference/redis-repositories.adoc @@ -696,7 +696,9 @@ The following table provides an overview of the keywords supported for Redis and |Keyword|Sample|Redis snippet |`And`|`findByLastnameAndFirstname`|`SINTER …:firstname:rand …:lastname:al’thor` |`Or`|`findByLastnameOrFirstname`|`SUNION …:firstname:rand …:lastname:al’thor` -|`Is,Equals`|`findByFirstname`,`findByFirstnameIs`,`findByFirstnameEquals`|`SINTER …:firstname:rand` +|`Is, Equals`|`findByFirstname`, `findByFirstnameIs`, `findByFirstnameEquals`|`SINTER …:firstname:rand` +|`IsTrue` | `FindByAliveIsTrue` | `SINTER …:alive:1` +|`IsFalse` | `findByAliveIsFalse` | `SINTER …:alive:0` |`Top,First`|`findFirst10ByFirstname`,`findTop5ByFirstname`| |=============== ==== diff --git a/src/test/java/org/springframework/data/redis/repository/RedisRepositoryIntegrationTestBase.java b/src/test/java/org/springframework/data/redis/repository/RedisRepositoryIntegrationTestBase.java index a7e4d1828..bba1f4281 100644 --- a/src/test/java/org/springframework/data/redis/repository/RedisRepositoryIntegrationTestBase.java +++ b/src/test/java/org/springframework/data/redis/repository/RedisRepositoryIntegrationTestBase.java @@ -232,6 +232,7 @@ public abstract class RedisRepositoryIntegrationTestBase { Person robb = new Person("robb", "stark"); robb.setAlive(false); + Person jon = new Person("jon", "snow"); repo.saveAll(Arrays.asList(eddard, robb, jon)); @@ -242,6 +243,25 @@ public abstract class RedisRepositoryIntegrationTestBase { assertThat(result, contains(eddard)); } + @Test // DATAREDIS-771 + public void shouldFindByBooleanIsFalse() { + + Person eddard = new Person("eddard", "stark"); + eddard.setAlive(true); + + Person robb = new Person("robb", "stark"); + robb.setAlive(false); + + Person jon = new Person("jon", "snow"); + + repo.saveAll(Arrays.asList(eddard, robb, jon)); + + List result = repo.findPersonByAliveIsFalse(); + + assertThat(result, hasSize(1)); + assertThat(result, contains(robb)); + } + @Test // DATAREDIS-547 public void shouldReturnEmptyListWhenPageableOutOfBoundsUsingFindAll() { @@ -394,6 +414,8 @@ public abstract class RedisRepositoryIntegrationTestBase { List findPersonByAliveIsTrue(); + List findPersonByAliveIsFalse(); + List findByFirstnameAndLastname(String firstname, String lastname); List findByFirstnameOrLastname(String firstname, String lastname); diff --git a/src/test/java/org/springframework/data/redis/repository/RedisRepositoryIntegrationTests.java b/src/test/java/org/springframework/data/redis/repository/RedisRepositoryIntegrationTests.java index 6d6ade80e..fcfc28a89 100644 --- a/src/test/java/org/springframework/data/redis/repository/RedisRepositoryIntegrationTests.java +++ b/src/test/java/org/springframework/data/redis/repository/RedisRepositoryIntegrationTests.java @@ -57,6 +57,7 @@ public class RedisRepositoryIntegrationTests extends RedisRepositoryIntegrationT keyspaceConfiguration = MyKeyspaceConfiguration.class, includeFilters = { @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = { PersonRepository.class, CityRepository.class }) }) + static class Config { @Bean