【发布时间】:2015-10-02 22:27:49
【问题描述】:
我正在尝试查询 spring data elasticsearch 存储库以获取嵌套属性。我的存储库如下所示:
public interface PersonRepository extends
ElasticsearchRepository<Person, Long> {
List<Person> findByAddressZipCode(String zipCode);
}
域对象 Person 和 Address(没有 getter/setter)定义如下:
@Document(indexName="person")
public class Person {
@Id
private Long id;
private String name;
@Field(type=FieldType.Nested, store=true, index = FieldIndex.analyzed)
private Address address;
}
public class Address {
private String zipCode;
}
我的测试保存了一个 Person 文档并尝试使用存储库方法读取它。但没有返回任何结果。下面是测试方法:
@Test
public void testPersonRepo() throws Exception {
Person person = new Person();
person.setName("Rene");
Address address = new Address();
address.setZipCode("30880");
person.setAddress(address);
personRepository.save(person);
elasticsearchTemplate.refresh(Person.class,true);
assertThat(personRepository.findByAddressZipCodeContaining("30880"), hasSize(1));
}
spring data elasticsearch是否支持默认spring data查询生成?
【问题讨论】:
标签: java elasticsearch spring-data spring-data-elasticsearch