@EnableJpaRepositories 寻找哪个包?
@EnableJpaRepositories looking for which package?
我正在学习如何构建 JSF 和 Spring 集成网络应用程序。我正在使用 java config 进行配置。问题是@EnableJpaRepositories,这个注解应该放哪个包呢?该包裹包含实体 classes?或配置 class?要么?我可以把我的根包放进去让它自己搜索吗?
EnableJpaRepositories - 仅用于存储库而不用于实体或配置。此注释的主要目标是找到所有存储库。
您可以通过几种方式配置 jpa 存储库(取决于您的 peoject 中的包结构),
@EnableJpaRepositories
-- 在这种情况下 spring 解析所有包以查找存储库。
@EnableJpaRepositories(basePackages="root package")
-- 与
@EnableJpaRepositories
@EnableJpaRepositories(basePackages="path.to.repositories.package")
-- 在这种情况下 spring 仅解析 'path.to.repositories.package' 包和子包以查找存储库。
如果你有像 com.some.path.repositories
或 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")
或使用多组配置值配置(下一节),因为您有不同的独立包,您需要为所有子包找到顶级包并将其用作基础包。在许多情况下,为所有存储库查找最常见的 basePackages 可能与仅使用 default/root package @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").
我正在学习如何构建 JSF 和 Spring 集成网络应用程序。我正在使用 java config 进行配置。问题是@EnableJpaRepositories,这个注解应该放哪个包呢?该包裹包含实体 classes?或配置 class?要么?我可以把我的根包放进去让它自己搜索吗?
EnableJpaRepositories - 仅用于存储库而不用于实体或配置。此注释的主要目标是找到所有存储库。
您可以通过几种方式配置 jpa 存储库(取决于您的 peoject 中的包结构),
@EnableJpaRepositories
-- 在这种情况下 spring 解析所有包以查找存储库。
@EnableJpaRepositories(basePackages="root package")
-- 与
@EnableJpaRepositories
@EnableJpaRepositories(basePackages="path.to.repositories.package")
-- 在这种情况下 spring 仅解析 'path.to.repositories.package' 包和子包以查找存储库。
如果你有像 com.some.path.repositories
或 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")
或使用多组配置值配置(下一节),因为您有不同的独立包,您需要为所有子包找到顶级包并将其用作基础包。在许多情况下,为所有存储库查找最常见的 basePackages 可能与仅使用 default/root package @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").