gpt4 book ai didi

java - Spring data Elasticsearch 中的 DataTableRepository

转载 作者:行者123 更新时间:2023-12-01 09:08:29 25 4
gpt4 key购买 nike

目前,我们使用 Spring Data JPA 和 MySql 数据库 DataTabaleRepository与 JPA 配合良好。现在我们正在将数据转移到Spring data elasticserch,但是DataTabaleRepository不与此合作。有没有其他选择,或者我如何为此实现自定义存储库?

最佳答案

spring-data-jpa-datatables没有实现对 ElasticsearchRepository 的支持,正如您所说,并使用 Spring Data for Elasticsearch 未实现的规范 API,因此扩展它需要一些工作。

您需要做的是创建自己的ElasticsearchRepositoryFactoryBean (即 ElasticsearchDataTablesRepositoryFactoryBean)和您自己的 AbstractElasticsearchRepository 实现它实现了 spring-data-jpa-datatables 的细节,就像 DataTablesRepositoryImpl 一样。您还应该定义自己的 DataTablesRepository (扩展 ElasticsearchRepository 的 ElasticsearchDataTablesRepository)使用相同的方法。

org.springframework.data.jpa.datatables.mapping 类可以重用,但您必须重新创建 SpecificationFactory 中找到的逻辑。对于elasticsearch使用QueryBuilders ,这将是我想象中最耗时的部分。

完成后,您可以使用 @EnableElasticsearchRepositories,就像 spring-data-jpa-datatables 所描述的那样:

@EnableElasticsearchRepositories(repositoryFactoryBeanClass = ElasticsearchDataTablesRepositoryFactoryBean.class))

并使用 ElasticsearchDataTablesRepository 接口(interface)扩展您的存储库,然后就可以开始了。

作为引用,您应该查看 SpecificationFactoryAbstractElasticsearchRepository (搜索方法)并熟悉Elasticsearch QueryBuilders .

关于java - Spring data Elasticsearch 中的 DataTableRepository,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41072324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com