gpt4 book ai didi

spring - @EnableJpaRepositories 正在寻找哪个包?

转载 作者:行者123 更新时间:2023-12-02 03:21:31 25 4
gpt4 key购买 nike

我正在学习如何构建 JSF 和 Spring 集成的 Web 应用程序。我使用java config来配置。问题是@EnableJpaRepositories,我应该在这个注解中放入哪个包?包中包含实体类吗?或者配置类?或者?我可以将我的根包放入其中并让它自行搜索吗?

最佳答案

EnableJpaRepositories - 仅用于存储库,不适用于实体或配置。此注释的主要目标是查找所有存储库。

您可以通过多种方式配置 jpa 存储库(取决于您的项目中的包结构),

@EnableJpaRepositories——在本例中,spring 解析所有包以查找存储库。

@EnableJpaRepositories(basePackages="root package") -- 与@EnableJpaRepositories

@EnableJpaRepositories(basePackages="path.to.repositories.package") -- 在这种情况下,spring 仅解析 'path.to.repositories.package' 包和子包来查找存储库。

如果您有像 com.some.path.repositoriescom.some.path.dao 这样的包结构,您可以 @EnableJpaRepositories(basePackages="com .some.path.dao 或存储库")

如果您有更复杂的结构,例如 com.some.path.domain1.repositoriescom.some.path.domain2.repositories .... com.some.path.domainN.repositories您可以使用配置 @EnableJpaRepositories(basePackages="com.some.path") 或使用多组配置值配置(下一节),因为您有不同的单独包,您需要找到顶级包所有子包并将其用作基本包。在许多情况下,要查找所有存储库的最常见的基础包可能与仅使用默认/根包@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")。

关于spring - @EnableJpaRepositories 正在寻找哪个包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45261791/

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