0

현재 스프링 데이터 JPA와을 사용하는 MySql 데이터베이스를 JPA와 함께 사용하고 있습니다. 이제 데이터를 스프링 데이터 elasticserch로 옮기고 있지만 DataTabaleRepository은 그걸로 작업하지 않습니다. 거기에 대한 대안이 있습니까 아니면 내가 어떻게 사용자 정의 저장소를 구현할 수 있습니까?Spring 데이터 Elasticsearch의 DataTableRepository

+0

정확히 어떤 부분이 작동하지 않습니까? – Veeram

+0

https://github.com/darracheques/spring-data-jpa-datatables에서 동일한 방식으로 응답을 사용자 정의하고 싶습니다. –

답변

1

spring-data-jpa-datatables은 Elasticsearch 용 Spring Data로 구현되지 않은 Specification API를 사용하고 있기 때문에 ElasticsearchRepository에 대한 지원을 구현하지 않습니다. 당신이해야 할 일은

자신의 ElasticsearchRepositoryFactoryBean (예. ElasticsearchDataTablesRepositoryFactoryBean) 그냥 DataTablesRepositoryImpl 같은 스프링 데이터 JPA-datatables의 특성을 구현 AbstractElasticsearchRepository 당신 자신의 구현을 만드는 것입니다. 또한 동일한 방법으로 자신의 DataTablesRepository (ElasticsearchDataTablesRecository는 ElasticsearchRepository를 확장 함)을 정의해야합니다.

org.springframework.data.jpa.datatables.mapping 클래스

재사용 할 수 있지만, 당신은 내가 상상하는 가장 시간이 많이 걸리는 부분이 될 것입니다 QueryBuilders를 사용 elasticsearch에 대한 SpecificationFactory에있는 로직을 다시해야합니다. 작업이 완료되면

, 당신은 단지 스프링 데이터 JPA-datatables 예 :

@EnableElasticsearchRepositories(repositoryFactoryBeanClass = ElasticsearchDataTablesRepositoryFactoryBean.class)) 

설명처럼 @EnableElasticsearchRepositories를 사용하고 ElasticsearchDataTablesRepository 인터페이스를 사용하여 저장소를 확장하고 괜찮아 수 있습니다 가다.

참고로 SpecificationFactoryAbstractElasticsearchRepository (검색 방법)을보고 Elasticsearch QueryBuilders에 익숙해야합니다.

+0

고맙습니다. :) –