0

現在、JPAでうまく動作するDataTabaleRepositoryのMySqlデータベースを使用したSpringデータJPAを使用しています。今ではデータをSpringデータのelasticserchに移動していますが、DataTabaleRepositoryはそれに対応していません。そのための代替手段はありますか、それともどのようにカスタムリポジトリを実装できますか?SpringデータElasticsearchのDataTableRepository

+0

どの部分が正しく機能していませんか? – Veeram

+0

私はhttps://github.com/darrachequesne/spring-data-jpa-datatablesで同じ方法でレスポンスをカスタマイズしたいと思っています... –

答えて

1

spring-data-jpa-datatablesは、ElasticsearchのSpring Dataで実装されていないSpecification APIを使用しているため、ElasticsearchRepositoryのサポートは実装されていません。あなたがする必要がどのような

独自01​​(すなわち。ElasticsearchDataTablesRepositoryFactoryBean)とちょうどDataTablesRepositoryImplのようなバネのデータ-JPA-のDataTableの仕様を実装しAbstractElasticsearchRepositoryの独自の実装を作成することです。同じ方法で独自のDataTablesRepository(ElasticsearchRepositoryを拡張するElasticsearchDataTablesRepository)も定義する必要があります。

org.springframework.data.jpa.datatables.mappingクラスを再利用することができますが、私が想像する最も時間のかかる部分になりますQueryBuildersを使用してelasticsearchためSpecificationFactoryで見つかったロジックを、再作成する必要があります。

設定が完了したら、スプリング・データ-JPA-のDataTableすなわちによって記述と同じように、あなたが@EnableElasticsearchRepositoriesを使用することができます。:

@EnableElasticsearchRepositories(repositoryFactoryBeanClass = ElasticsearchDataTablesRepositoryFactoryBean.class)) 

そして、あなたのElasticsearchDataTablesRepositoryインタフェースを使用してリポジトリを拡張し、あなたは良いです行く。

参考のために、SpecificationFactoryAbstractElasticsearchRepository(検索方法)を参照し、Elasticsearch QueryBuildersに精通している必要があります。

+0

ありがとう:) –

関連する問題