hibernate - 如何在EAR中的ejb模块和web模块之间共享Persistence.xml?

标签 hibernate spring jpa maven

我们有一个 EAR 应用程序,其中包含一个 ejb 模块,其中包含所有实体 bean 以及少量 session bean 和 pojo。它有一个 persistence.xml。现在还有其他 Web 模块,即 spring mvc 应用程序,它在 ejb 模块中使用实体 bean。现在要使用 jpa,我还必须在 Web 模块中创建一个 persistence.xml。但它是重复的,就像我们在 ejb 模块中已有的那样。有什么办法可以让我只保留一个 persistence.xml 并在 ejb 和 web 模块中使用。有人能给我一个简单的项目结构作为例子吗?只是为了了解我们正在使用 Maven。

谢谢

最佳答案


您可以将 persistence.xml 与实体类一起放入单独的 jar 中,然后将其放入 EAR 的/lib 文件夹中。

yourEar.ear
    |
    |_ yourEjb.jar
    |
    |_ yourWeb.war
    |
    |_ lib
        |
        |_ yourPersistence.jar
               |
               |_ META-INF/persistence.xml
               |
               |_ yourEntity.class

关于hibernate - 如何在EAR中的ejb模块和web模块之间共享Persistence.xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5589090/

相关文章:

spring - @WebFilter 与 web.xml 中的 <Filter>

java - 超时动态 HTTP 出站网关请求工厂

java - 从具有相同持久性单元的多个数据库中读取?

java - 使用 @Id 和 @EmbeddedId 作为复合键的区别

java - Neo4j 和 ORM( hibernate )

java - Spring Boot 和 Hibernate 问题

java - Spring 验证 : Requiring an exact length on an optional field

java - org.hibernate.AnnotationException : Unknown mappedBy with common class

java - Hibernate/JPA 是否考虑了 transient 修饰符(而不是注释)

java - 将字符串属性映射到 JSONB