如何在Spring Boot应用程序的同一域类上同时使用Spring Data JPA和Spring Data Elasticsearch存储库?

如何在Spring Boot应用程序的同一域类上同时使用Spring Data JPA和Spring Data Elasticsearch存储库?,第1张

如何在Spring Boot应用程序的同一域类上同时使用Spring Data JPA和Spring Data Elasticsearch存储库?

在Spring数据存储库的数据源无关,这意味着

JpaRepository
ElasticsearchRepository
两卷成
Repository
接口。在这种情况下,Spring
Boot的自动配置将导致Spring Data JPA尝试为继承了任何Spring Data Commons基础存储库的项目中的每个存储库配置一个bean。

要解决此问题,您需要将JPA存储库和Elasticsearch存储库移至单独的程序包,并确保使用以下方法注释

@SpringBootApplication
应用程序类:

  • @EnableJpaRepositories
  • @EnableElasticsearchRepositories

然后,您需要为每个启用批注指定存储库的位置。最终看起来像:

@SpringBootApplication@EnableJpaRepositories("com.izeye.throwaway.data")@EnableElasticsearchRepositories("com.izeye.throwaway.indexing")public class Application {    public static void main(String[] args) {        SpringApplication.run(Application.class, args);    }}

然后,您的应用程序将能够消除哪个存储库用于哪个Spring Data项目的歧义。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5600178.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存