2

Ich versucheKombination

@org.springframework.data.mongodb.core.mapping.Document(collection = "goal") 
@org.springframework.data.elasticsearch.annotations.Document(indexName = "goal") 
public class Goal implements Serializable { 
....} 

aber das gibt mir:

Error creating bean with name 'goalRepository': 
Invocation of init method failed; nested exception is 
org.springframework.data.mapping.PropertyReferenceException: 
No property insert found for type Goal! -> 

BTW: Dieser Fehler verschwindet, sobald ich eine Eigenschaft mit dem Namen hinzufügen ' Einfügen 'to Goal' oder ich entferne die Elasticsearch Annotation vom Ziel.

Die GoalRepository ist:

package org.jhipster.mongo.repository; 
import org.jhipster.mongo.domain.Goal; 
import org.springframework.data.mongodb.repository.MongoRepository; 

public interface GoalRepository extends MongoRepository<Goal,String> {  
} 
+0

Können Sie befestigen 'GoalRepository' Code als auch? –

Antwort

1

mehrere Spring Data Module Verwendung in einem Projekt möglich ist, sondern erfordert Aufmerksamkeit Einstellung Dinge über oben.

Wenn mehr als ein Spring Data-Modul im Klassenpfad vorhanden ist, kann eine strenge Konfiguration vorgenommen werden, die für Spring Data erforderlich ist, um zwischen den Repository-Verantwortlichkeiten zu unterscheiden. Dies geschieht hauptsächlich durch Annotationen und ob ein bestimmtes Repository in die Typhierarchie passt. In Ihrem Fall wird Goal mit MongoDB- und Elasticsearch-Annotationen versehen, sodass beide Module den Drang verspüren, Repositories zu implementieren.

Der einzige Weg ist bisher, Repositories in verschiedenen Paketen zu behalten und diese Pakete als Basispakete in @Enable…Repositories zu verwenden. Angenommen, Sie befinden sich in org.jhipster.elasticsearch.repository Ihre Anwendung Config Elasticsearch repos befindet könnte wie folgt aussehen:

@EnableMongoRepositories("org.jhipster.mongo.repository") 
@EnableElasticsearchRepositories("org.jhipster.elasticsearch.repository") 
@SpringBootApplication 
public class SpringBootApplication { … } 

HTH, Mark