3

なぜこれが起こっているのかわかりません! Springデータelasticsearchとspringデータjpaで使用されるクラスがありますが、アプリケーションを実行しようとするとエラーが発生します。スプリングデータJPA&スプリングデータelasticsearch;型のプロパティインデックスは見つかりませんでしたか?

Error creating bean with name 'articleSearch': 
Invocation of init method failed; nested exception is 
org.springframework.data.mapping.PropertyReferenceException: 
No property index found for type Article! 

Caused by: org.springframework.data.mapping.PropertyReferenceException: 
No property index found for type Article! 
    at org.springframework.data.mapping.PropertyPath.<init>(PropertyPath.java:77) ~[spring-data-commons-1.11.4.RELEASE.jar:na] 

私は、次のアプリケーションクラスを持っている:

@SpringBootApplication 
@EnableAsync 
@ComponentScan(basePackages = {"com.article.models", "com.user"}) 
public class ArticleApplication { 

そして次elasticsearch設定:

@Configuration 
@EnableElasticsearchRepositories(basePackages = "com.article.search") 
public class ElasticSearchConfiguration { 
    @Resource 
    private Environment environment; 

    @Bean 
    public Client client() { 
     TransportClient client = new TransportClient(); 
     TransportAddress address = new InetSocketTransportAddress(environment.getProperty("elasticsearch.host"), Integer.parseInt(environment.getProperty("elasticsearch.port"))); 
     client.addTransportAddress(address); 
     return client; 
    } 

    @Bean 
    public ElasticsearchOperations elasticsearchTemplate() { 
     return new ElasticsearchTemplate(client()); 
    } 
} 

これは、私はセットアップ私のモデルクラスをしたかであります

@Entity 
@Table(name="article") 
@Document(indexName="article", type="articles") 

public class Article implements Serializable { 

public interface ArticleSearch extends ElasticsearchRepository<Article, String> { 

私はautowireエラーが発生する原因になっている他のサービス内部 articlesearchクラスにしようとしている:そのように、elasticsearchrepositoryを拡張パッケージ検索

@Autowired 
ArticleSearch articleSearch; 

ここでは何が欠けていますか?データを使用しようとするともう少し複雑になると思います。jpa + data-elasticsearch

+0

あなたはクラス記事のすべてのコードを表示できますか? – xierui

+0

これは、@ columnアノテーションを持つ標準のhibernateクラスです。私はelasticsearch注釈を追加していない@xierui – James111

+0

私は前にエラーを見た。私はあなたが最初にリポジトリまたはクエリのメソッドをチェックできると思います。 "findByIndex"のようないくつかのメソッドは、エラーの場合になります。 – xierui

答えて

1

私はこれがなぜ起こったのかを知りました。理由は分かりませんが、春は私のElasticSearchConfiguration設定クラスを拾っていないようです!

私は単純にすべてのコンテンツをそこから移動して、メインアプリケーションクラス(他のすべての設定はすべて)にダンプしました。

私はまた、取り外し部品のスキャン&は私のメインのクラスにenablejparepository + enableelasticsearchrepository注釈を追加しました。これは今のようなものです:

@SpringBootApplication 
@EnableAsync 
@EnableElasticsearchRepositories(basePackages = "com.article.search") 
@EnableJpaRepositories(basePackages = {"com.article.dao", "com.user.dao"}) 
public class ArticleApplication { 
関連する問題