gpt4 book ai didi

spring - 使用 EnableJpaRepositories 定义特定的存储库类

转载 作者:行者123 更新时间:2023-12-01 04:53:02 26 4
gpt4 key购买 nike

我一直在使用@EnableJpaRepositories我对定义特定类而不是包的机会感兴趣。这背后的原因是我正在使用多模块项目,并且目前有一个核心模块,其中包含一个单独的包中的所有存储库定义:

core/repository/ - Here all repository definitions are stored

在其他依赖于核心模块的模块中,我使用以下定义来获取存储库:
@EnableJpaRepositories(basePackages ="core.repository")

显然使用这意味着获取所有位于 core/repository 下的存储库的定义。包裹。但是,在某些软件包中,我只需要一些存储库,而不是全部。现在,我已将每个存储库定义移动到一个单独的包中,例如:
core/repository/user

但是我很感兴趣-是否真的可以定义具体的存储库类,而不是包,例如:
@EnableJpaRepositories(baseClasses ="core.repository.UserRepository")

最佳答案

您可以使用 includeFilters/excludeFilters 参数自定义加载的存储库。

例如,您可以在 EnableJpaRepositories 中定义过滤器。配置:

@EnableJpaRepositories(basePackages = "core.repository", includeFilters = @ComponentScan.Filter(MyModuleJpaRepo.Class))

然后用适当的注释标记每个模块存储库:
@MyModuleJpaRepo
public interface TestRepository extends JpaRepository<Test, Long> { … }

在这里您可以找到 spring-data 作者的示例:
https://stackoverflow.com/a/22744045/1545775

关于spring - 使用 EnableJpaRepositories 定义特定的存储库类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39659896/

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