在 Spring Boot 中配置 Hibernate 以忽略通过依赖项导入的标有 Entity 的某些类

Posted

技术标签:

【中文标题】在 Spring Boot 中配置 Hibernate 以忽略通过依赖项导入的标有 Entity 的某些类【英文标题】:Configure Hibernate in Spring Boot to ignore certain classes marked with Entity which are imported via dependency 【发布时间】:2020-05-27 01:53:58 【问题描述】:

在我的项目中,我使用 spring-boot-starter-data-jpaspring-boot-starter-webflux

我有各种 @Entity 符号被 hibernate 正确识别,但是,在一个模块中,我依赖于项目中与网络服务器无关的另一个模块,结构如下所示:

       ROOT MODULE
       /         \
  Dependency   Dependant
 (non web app) (web app with spring boot jpa)

这个非 web 模块也使用了 hibernate 和 @Entity。 启动 spring 服务器时,web 目录中的 hibernate 似乎正在尝试加载另一个模块中标记为 @Entity 的类,这会导致奇怪的问题和数据泄漏。

如何告诉 hibernate 只查看当前模块而忽略其他模块?

【问题讨论】:

【参考方案1】:

您可以使用@EntityScan 注释来告诉 spring 在哪里可以找到您的实体。 有关official docs 和here 的更多详细信息

【讨论】:

以上是关于在 Spring Boot 中配置 Hibernate 以忽略通过依赖项导入的标有 Entity 的某些类的主要内容,如果未能解决你的问题,请参考以下文章

如何在 spring-boot 中禁用 spring-data-mongodb 自动配置

spring-boot中logback日志配置

Spring Boot . 4 -- 定制 Spring Boot 配置

spring boot 自动配置

04-Spring Boot基本配置

如何在 spring-boot 中配置 Jetty(很容易?)