【问题标题】:JBoss, Spring: persistence.xml - why should i avoid this filename?JBoss,Spring:persistence.xml - 我为什么要避免使用这个文件名?
【发布时间】:2014-01-27 20:11:30
【问题描述】:

在线源代码生成工具SpringFuse中建议使用Spring时不要命名持久化单元persistence.xml。相反,他们将文件重命名为 spring-persistence.xml: https://github.com/jaxio/generated-projects/blob/master/jpa2-backend/src/main/resources/META-INF/spring-persistence.xml 。 他们说:

将其命名为 spring-persistence.xml 以防止 JBoss 选择它 自动,这会在我们使用 Spring 时造成混乱。

但是为什么这会造成混乱?是什么类型的混乱? 我们使用 spring 并有一个名为 persistence.xml 的文件,它可以工作。我们使用 JBoss AS 6.1。

【问题讨论】:

    标签: java spring jpa jboss persistence.xml


    【解决方案1】:

    您最终可能会得到相同持久性上下文 (EntityManagerFactory) 的两个副本,一个由 JBoss 引导,另一个由 Spring 应用程序上下文引导。我还记得,JBoss 对persistence.xml 验证非常严格,因此您最终可能会遇到验证问题(例如,显式列出实体类与类路径扫描)。如果确实遇到问题,禁用 JBoss 扫描说起来容易做起来难。

    无论如何,请注意,如果您使用的是最新版本的 Spring (3.1.x+?),则根本不需要 persistence.xml。见http://docs.spring.io/spring/docs/3.2.6.RELEASE/javadoc-api/org/springframework/orm/jpa/LocalContainerEntityManagerFactoryBean.html#setPackagesToScan(java.lang.String...)

    【讨论】:

      猜你喜欢
      • 2012-06-13
      • 2010-12-23
      • 1970-01-01
      • 2021-06-25
      • 1970-01-01
      • 2018-11-13
      • 2011-11-15
      • 1970-01-01
      • 2013-07-08
      相关资源
      最近更新 更多