EnableJpaRepositories - 仅用于存储库,不适用于实体或配置。此注释的主要目标是查找所有存储库。
您可以通过多种方式配置 jpa 存储库(取决于项目中的包结构),
@EnableJpaRepositories
-- 在这种情况下,spring 解析所有包以查找存储库。
@EnableJpaRepositories(basePackages="root package")
- 与...一样@EnableJpaRepositories
@EnableJpaRepositories(basePackages="path.to.repositories.package")
-- 在这种情况下,spring 仅解析 'path.to.repositories.package' 包和子包来查找存储库。
如果你有像这样的包结构com.some.path.repositories
or com.some.path.dao
你可以@EnableJpaRepositories(basePackages="com.some.path.dao or repositories")
如果你有更复杂的结构,比如com.some.path.domain1.repositories
, com.some.path.domain2.repositories
.... com.some.path.domainN.repositories
你可以使用配置@EnableJpaRepositories(basePackages="com.some.path")
或使用多组配置值configuration(下一节),因为您有不同的单独包,您需要找到所有子包的顶级包并将其用作基本包。在许多情况下,要查找所有存储库的最常见的基础包可能与仅使用默认/根包相同@EnableJpaRepositories
或者如果您有几个软件包,则使用多组配置值 @EnableJpaRepositories ({ "com.some.path.domain1.repositories", "com.some.path.domain2.repositories"}) 。在此不需要使用通用根包,但如果您有 10-20-30 个单独的包,可能最好使用通用包。
PS:@EnableJpaRepositories 有 basePackages() 属性的别名。允许更简洁的注释声明,例如: @EnableJpaRepositories("org.my.pkg") 而不是 @EnableJpaRepositories(basePackages="org.my.pkg")。