spring - 如何从多个路径制作 Spring 加载 JPA 类?

标签 spring jpa

所以我有一个 spring 应用程序分为几个模块,每个模块在一个单独的项目中。 每个模块都有自己的 JPA 实体,我使用 Spring ORM 进行配置:

<beans ...>

<context:component-scan
    base-package="org.myapp.module1.persistence" />

<context:component-scan
    base-package="org.myapp.module2.persistence" />

...

<context:annotation-config />

<tx:annotation-driven />

...

</beans>

persistence.xml 文件如下所示:

<persistence ...>

<persistence-unit name="myunit" />

</persistence>

我的问题是,当 Spring 上下文初始化时,它只会在 persistence.xml 文件的同一路径上查找 @Entity 类,而会忽略其他项目类路径。

我尝试拥有多个 persistence.xml,每个都与 @Entity 类位于相同的路径中,但在这种情况下,一旦 Spring 找到第一个 persistence.xml,它将停止加载并且不会在其他路径上找到任何 @Entity 类.

我怎样才能让 Spring 看到一切?

最佳答案

如果您想从多个 persistence.xml 文件构建一个持久性单元,您可以使用 MergingPersistenceUnitManager在 Spring Data JPA 中可用。请务必为所有持久性单元指定相同的名称。当然,您必须为 persistence.xml 使用通配符导入:classpath*:META-INF/persistence.xml

问候, 奥利

关于spring - 如何从多个路径制作 Spring 加载 JPA 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/713586/

相关文章:

java - mybitis运行更新sql错误

Spring Boot 允许在请求参数中使用方括号嵌套对象

java - JpaRepository 上的@Transactional

java - Oracle 通过 JPA 排序,数字在前

java - 如何对实体强制进行版本更新?

java - JPA/Hibernate - 父类(super class)查询时如何确定子类类型?

JPA 2.0 native 查询结果作为 map

java - 在Spring JDBC中,如何在语句上设置RESULT SET HOLDABILITY?

java - 如何处理由容器而不是应用程序发送的 404 错误

javascript - Spring Boot - 为什么我的应用程序找不到静态资源?