Как использовать репозитории Spring Data JPA и Spring Data Elasticsearch в одном и том же классе домена в приложении Spring Boot?

Я пытаюсь использовать Spring Data JPA и Spring Data Elasticsearch на одном объекте домена, но это не работает.

Когда я попытался запустить простой тест, я получил следующее исключение:

org.springframework.data.mapping.PropertyReferenceException: не найден индекс свойства для типа Person! в org.springframework.data.mapping.PropertyPath. (PropertyPath.java:75) ~ [spring-data-commons-1.11.0.RELEASE.jar: na] в org.springframework.data.mapping.PropertyPath.create (PropertyPath .java: 327) ~ [spring-data-commons-1.11.0.RELEASE.jar: na] at org.springframework.data.mapping.PropertyPath.create (PropertyPath.java:307) ~ [spring-data-commons- 1.11.0.RELEASE.jar: na] at org.springframework.data.mapping.PropertyPath.from (PropertyPath.java:270) ~ [spring-data-commons-1.11.0.RELEASE.jar: na] в org. springframework.data.mapping.PropertyPath.from (PropertyPath.java:241) ~ [spring-data-commons-1.11.0.RELEASE.jar: na] в org.springframework.data.repository.query.parser.Part. ( Part.java:76) ~ [spring-data-commons-1.11.0.RELEASE.jar: na] at org.springframework.data.repository.query.parser.PartTree $ OrPart. (PartTree.java:235) ~ [ spring-data-commons-1.11.0.RELEASE.jar: na] at org.springframework.data.repository.query.parser.PartTree $ Predicate.buildTree (PartTree.java:373) ~ [spring-data-commons-1.11 .0.RELEASE.jar: na] at org.springframework.data.repository.query.parser.PartTree $ Predicate. (PartTree.java:353) ~ [spring-data-commons-1.11.0.RELEASE.jar: na] в org.springframework.data .repository.query.parser.PartTree. (PartTree.java:84) ~ [spring-data-commons-1.11.0.RELEASE.jar: na] в org.springframework.data.jpa.repository.query.PartTreeJpaQuery. ( PartTreeJpaQuery.java:61) ~ [spring-data-jpa-1.9.0.RELEASE.jar: na] at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy $ CreateQueryLookupStrategy.resolveQuery (JpaQugy) 95 [spring-data-jpa-1.9.0.RELEASE.jar: na] at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy $ CreateIfNotFoundQueryLookupStrategy.resolveQuery (JpaQueryLookupStrategy) j spring-jpa- ja-pa- spring-j-pa: spring-j-paa.jar 1.9.0.RELEASE.jar: na] at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy $ AbstractQueryLookupStrategy.resolveQuery (JpaQueryLookupStrategy.java:73) ~ [spring-data-jEL-1..0.jar-1.9. : na] at org.springframework.data.repository.c ore.support.RepositoryFactorySupport $ QueryExecutorMethodInterceptor. (RepositoryFactorySupport.java:408) ~ [spring-data-commons-1.11.0.RELEASE.jar: na] в org.springframework.data.repository.core.suppory.core.supportSecreport RepositoryFactorySupport.java:206) ~ [spring-data-commons-1.11.0.RELEASE.jar: na] at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn (RepositoryFactory ~jj) -data-commons-1.11.0.RELEASE.jar: na] at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet (RepositoryFactoryBeanSupport.java:237) ~ [spring-data-commons. RELEASE.jar: na] at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet (JpaRepositoryFactoryBean.java:92) ~ [spring-data-jpa-1.9.0.RELEASE.jar: na] или springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java:1637) ~ [sp ring-beans-4.2.1.RELEASE.jar: 4.2.1.RELEASE] в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1574ASE-4.2.ELE) .jar: 4.2.1.RELEASE] ... пропущено 43 общих кадра

Они работают при отключении любого из них.

Проект основан на Spring Boot 1.3.0.M5.

Это пример проекта, воспроизводящего ситуацию:

https://github.com/izeye/spring-boot-throwaway-branches/tree/data-jpa-and-elasticsearch

Ответы на вопрос(1)

Ваш ответ на вопрос