我有一个 Spring 项目(使用 JPA2.1)并且 persistenceUnitName 在该项目中被定义为“默认”。
我已经在另一个spring批处理项目(也使用spring-JPA2.1)中定义了这个项目的依赖关系(使用maven)(在另一个项目中使用spring-core.jar来重用一些实体类和其他东西)。
当我在这个项目中定义相同的persistenceUnitName 时,它给了我一个persistenceUnitName 的冲突错误。
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
p:persistenceUnitName="default"
p:jpaVendorAdapter-ref="jpaVendorAdapter"
p:dataSource-ref="dataSource" />
但是当我在这个项目中更改persistenceUnitName的名称时,它无法创建导入项目的persistenceUnitName(“默认”)。所以无法创建导入项目的 JPA 类(为此我在 pom.xml 中定义了依赖项)
Error creating bean with name 'SampleJpa': Injection of persistence dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'default' is defined
请建议我一些解决方案。实际上,这与hibernate以这种方式工作,但迁移给我们带来了困难。