【发布时间】:2012-10-03 00:34:24
【问题描述】:
我在 spring 上下文中定义了多个数据源和多个 EntityManagerFactories。
如果仅在 EntityManagerFactory 上存在,我们不需要提供 persistenceUnitName。但是要将 EntityManager 以更正 EntityManagerFactory 与 @PersistenceContext 我应该提供 unitName="somePU" 属性。
但是,如果我们为 persistenceUnitName 属性命名,那么 Spring 期望在 persistence.xml 文件中声明这些 persistenceUnitName。
有没有办法在没有 persistence.xml 的情况下为 Spring 的 LocalContainerEntityManagerFactoryBean 提供 persistenceUnitName?
当我将 persistence.xml 与 Spring 的 LocalContainerEntityManagerFactoryBean 一起使用时,我还发现了另一个问题。 packagesToScan 属性不起作用。我需要列出 persistence.xml 中的所有实体类。
知道为什么会这样吗?
-siva
【问题讨论】:
-
我猜,在指定persistence.xml 时,使用的是JPA 扫描而不是spring 扫描。
-
实际上为什么spring需要persistenceUnitName出现在persistence.xml中?无论如何它不包含除单元名称之外的任何内容。
标签: java spring hibernate jpa-2.0