Ich versuche, Spring Data JPA und Spring Data Elasticsearch für das gleiche Domänenobjekt zu verwenden, aber es funktioniert nicht. Wie verwenden Sie Spring Data JPA- und Spring Data Elasticsearch-Repositories für dieselbe Domä- nenklasse in einer Spring Boot-Anwendung?
Als ich versuchte, einen einfachen Test zu laufen, habe ich die folgende Ausnahme:
org.springframework.data.mapping.PropertyReferenceException: Nein Immobilienindex für Typ Person gefunden! unter org.springframework.data.mapping.PropertyPath. (PropertyPath.java:75) ~ [spring-data-commons-1.11.0.RELEASE.jar: na] um org.springframework.data.mapping.PropertyPath. create (PropertyPath.java:327) ~ [frühjahr-daten-commons-1.11.0.RELEASE.jar: na] um org.springframework.data.mapping.PropertyPath.create (PropertyPath.java307) ~ [ spring-data-commons-1.11.0.RELEASE.jar: na] unter org.springframework.data.mapping.PropertyPath.from (PropertyPath.java:270) ~ [spring-data-commons-1.11.0.RELEASE .jar: na] unter org.springframework.data.mapping.PropertyPath.from (PropertyPath.java:241) ~ [spring-data-commons-1.11.0.RELEASE.jar: na] unter org.springframework. Datenablage. query.parser.Part. (Part.java:76) ~ [spring-data-commons-1.11.0.RELEASE.jar: na] unter org.springframework.data.repository.query.parser.PartTree $ OrPart. (PartTree.java:235) ~ [frühjahr-daten-commons-1.11.0.RELEASE.jar: na] um org.springframework.data.repository.query.parser.PartTree $ Prädikat.buildTree (PartTree.java: 373) ~ [frühjahr-daten-commons-1.11.0.RELEASE.jar: na] um org.springframework.data.repository.query.parser.PartTree $ Prädikat. (PartTree.java:353) ~ [Frühling -data-commons-1.11.0.RELEASE.jar: na] unter org.springframework.data.repository.query.parser.PartTree. (PartTree.java:84) ~ [spring-data-commons-1.11.0 .RELEASE.jar: na] unter org.springframework.data.jpa.repository.query.PartTreeJpaQue ry. (PartTreeJpaQuery.java:61) ~ [Spring-Daten-jpa-1.9.0.RELEASE.jar: na] um org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy $ CreateQueryLookupStrategy.resolveQuery (JpaQueryLookupStrategy. java: 95) ~ [Feder-data-JPA-1.9.0.RELEASE.jar: na] bei org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy $ CreateIfNotFoundQueryLookupStrategy.resolveQuery (JpaQueryLookupStrategy.java:206) ~ [spring-data-jpa-1.9.0.RELEASE.jar: na] um org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy $ AbstractQueryLookupStrategy.resolveQuery (JpaQueryLookupStrategy.java:73) ~ [spring-data -jpa-1.9.0.RELEASE.jar: na] um org.springframework.data.repository.core.support.RepositoryFactorySupport $ QueryExecutorMethodInterceptor. (Rep ositoryFactorySupport.java:408) ~ [spring-data-commons-1.11.0.RELEASE.jar: na] um org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository (RepositoryFactorySupport.java:206) ~ [spring-data-commons-1.11.0.RELEASE.jar: na] unter org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn (RepositoryFactoryBeanSupport.java:251) ~ [spring-data-commons -1.11.0.RELEASE.jar: na] unter org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet (RepositoryFactoryBeanSupport.java:237) ~ [spring-data-commons-1.11.0.RELEASE. jar: na] um org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet (JpaRepositoryFactoryBean.java:92) ~ [spring-data-jpa-1.9.0.RELEASE.jar: na] unter org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java:1637) ~ [Feder-Bohnen-4.2.1.RELEASE.jar: 4.2.1.RELEASE] bei org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java : 1574) ~ [Feder-Bohnen-4.2.1.RELEASE.jar: 4.2.1.RELEASE] ... 43 gemeinsamer Rahmen weggelassen
Sie arbeiten, wenn entweder deaktivieren.
Das Projekt basiert auf Spring Boot 1.3.0.M5.
Dies ist ein Beispielprojekt die Situation reproduzieren:
https://github.com/izeye/spring-boot-throwaway-branches/tree/data-jpa-and-elasticsearch
Dank für die Details. Es gab mir einen Hinweis auf eine endgültige Lösung, die ich wählte. Für mich ist die Verwendung von 'includeFilters' besser, als sie in andere Pakete zu verschieben. Die Datenquellen-agnostische Natur von Spring Data ist sehr schön, aber es wäre schön, wenn Spring Data JPA die 'ElasticsearchRepository'-Schnittstellen nicht nach Möglichkeit scannen würde. –
Für jemanden, der interessiert, was ich getan habe, siehe https://github.com/izey/spring-boot-throwaway-branches/commit/874ccba09189d6ef897bc430c43b6e3705404399 –
Dank Kenny-Bastani und Johnny-lim, ich wählte für Sie beide –