|
22 | 22 | import java.lang.Long;
|
23 | 23 | import java.util.ArrayList;
|
24 | 24 | import java.util.Arrays;
|
| 25 | +import java.util.Collection; |
25 | 26 | import java.util.Collections;
|
26 | 27 | import java.util.List;
|
27 | 28 | import java.util.UUID;
|
|
71 | 72 | * @author Don Wellington
|
72 | 73 | * @author Peter-Josef Meisch
|
73 | 74 | * @author Rasmus Faber-Espensen
|
| 75 | + * @author James Mudd |
74 | 76 | */
|
75 | 77 | @SpringIntegrationTest
|
76 | 78 | public abstract class CustomMethodRepositoryIntegrationTests {
|
@@ -1648,6 +1650,24 @@ void shouldStreamSearchHitsWithQueryAnnotatedMethod() {
|
1648 | 1650 | assertThat(count).isEqualTo(20);
|
1649 | 1651 | }
|
1650 | 1652 |
|
| 1653 | + @Test |
| 1654 | + void shouldBeAbleToUseCollectionInQueryAnnotatedMethod() { |
| 1655 | + List<SampleEntity> entities = createSampleEntities("abc", 20); |
| 1656 | + repository.saveAll(entities); |
| 1657 | + List<String> ids = entities.stream() |
| 1658 | + .map(SampleEntity::getId) |
| 1659 | + .limit(7) // Just get subset |
| 1660 | + .collect(Collectors.toList()); |
| 1661 | + |
| 1662 | + List<SampleEntity> sampleEntities = repository.getByIds(ids); |
| 1663 | + |
| 1664 | + assertThat(sampleEntities).hasSize(7); |
| 1665 | + |
| 1666 | + List<String> returnedIds = sampleEntities.stream().map(SampleEntity::getId).collect(Collectors.toList()); |
| 1667 | + assertThat(returnedIds).containsAll(ids); |
| 1668 | + } |
| 1669 | + |
| 1670 | + |
1651 | 1671 | private List<SampleEntity> createSampleEntities(String type, int numberOfEntities) {
|
1652 | 1672 |
|
1653 | 1673 | List<SampleEntity> entities = new ArrayList<>();
|
@@ -1881,6 +1901,9 @@ public interface SampleCustomMethodRepository extends ElasticsearchRepository<Sa
|
1881 | 1901 |
|
1882 | 1902 | @CountQuery("{\"bool\" : {\"must\" : {\"term\" : {\"type\" : \"?0\"}}}}")
|
1883 | 1903 | long countWithQueryByType(String type);
|
| 1904 | + |
| 1905 | + @Query("{\"ids\" : {\"values\" : ?0 }}") |
| 1906 | + List<SampleEntity> getByIds(Collection<String> ids); |
1884 | 1907 | }
|
1885 | 1908 |
|
1886 | 1909 | /**
|
|
0 commit comments